본문 바로가기

3-1/데이터베이스

합집합, 차집합, 교집합


--차집합(A-B) (Outer Join으로도 가능)
SELECT *
FROM 테이블A A
WHERE NOT EXISTS (
SELECT 1
FROM 테이블 B B
WHERE B.필드A = A.필드A
AND B.필드B = A.필드B
)

--교집합(A∩B) (Inner Join으로도 가능)
SELECT *
FROM 테이블A A
WHERE EXISTS (
SELECT 1
FROM 테이블 B B
WHERE B.필드A = A.필드A
AND B.필드B = A.필드B
)

--합집합(A∪B) (Union all 대신 Union을 사용하면 중복행을 한행으로 출력)
SELECT *
FROM 테이블A A
UNION ALL
SELECT *
FROM 테이블B B