티스토리 뷰


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)

 

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday