오라클이나 MSSQL의 경우 EXCEPT 혹은 MINUS를 사용하여 차집합을 구할 수 있지만,
MYSQL의 경우 버전에 따라 지원하는 경우도 있고 아닌 경우도 있다.
TB1에 있는 데이터 중 TB2에 있는 데이터를 제외하고 가지고 싶다면,
JOIN하는 컬럼을 기준으로, 조인테이블의 값이 NULL인 경우를 WHERE절에 적어주면 차집합과 동일한 결과가 출력된다
SELECT * FROM TB1 a LEFT OUTER JOIN TB2 b ON (a.ID = b.ID) WHERE b.ID IS NULL; |