데이터 분석/SQL
[쉽게 쓴 SQL] EXCEPT
참치바나나
2020. 11. 8. 17:39
[연산] 집합 두 개 중에 1개에만 해당되는 내용을 보고 싶을 때
엄청나게 많이 쓰인다!
재고가 있는 film_id 와 이름을 추출하려면?
SELECT
DISTINCT f2.film_id,f2.title
FROM
film f2 ,
inventory i2
WHERE
f2.film_id = i2.film_id
ORDER BY f2.film_id ;
958개의 결과가 있음
재고가 없는 film_id 와 이름을 추출하고 싶다
전체 필름 중에서 재고가 있는 것을 빼면 된다.
'재고'라는 column이 있는 것이 아니므로, OUTER JOIN으로 '재고' IS NULL은 불가.
SELECT
f3.film_id,
f3.title
FROM
film f3
EXCEPT
SELECT
DISTINCT f2.film_id,
f2.title
FROM
film f2 ,
inventory i2
WHERE
f2.film_id = i2.film_id
ORDER BY
film_id ;