DataBase/Query
2007. 12. 27. 14:22
반응형
EXISTS 및 NOT EXISTS로 시작하는 하위 쿼리는 교집합과 차집합이라는 두 집합 이론 작업에 사용할 수 있습니다. 두 집합의 교집합은 두 가지 원래 집합에 모두 속하는 요소를 포함하고, 차집합은 두 집합 중 첫 번째 집합에만 속하는 요소를 포함합니다.
city 열에 대해 authors 및 publishers 의 교집합은 저자와 출판사가 모두 있는 도시의 집합입니다.
USE pubs
SELECT DISTINCT city
FROM authors
WHERE EXISTS
(SELECT *
FROM publishers
WHERE authors.city = publishers.city)
결과 집합은 다음과 같습니다.
city -------- Berkeley (1
개행
적용됨
)
단순 조인을 사용하여 작성할 수도 있습니다.
USE pubs
SELECT DISTINCT authors.city
FROM authors INNER JOIN publishers
ON authors.city = publishers.city
city 열에 대해 authors 및 publishers 의 차집합은 저자가 거주하지만 출판사는 없는 도시의 집합으로서 Berkeley를 제외한 모든 도시가 됩니다.
USE pubs SELECT DISTINCT city FROM authors WHERE NOT EXISTS
(SELECT *
FROM publishers
WHERE authors.city = publishers.city)
위의 쿼리는 다음과 같이 작성할 수도 있습니다.
USE pubs
SELECT DISTINCT city
FROM authors
WHERE city NOT IN
(SELECT city
FROM publishers)
반응형