[연산] 집합 두 개 중에 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 ;
'데이터 분석 > SQL' 카테고리의 다른 글
[쉽게 쓴 SQL] ANY 그리고 IN, ALL (0) | 2020.11.21 |
---|---|
[쉽게 쓴 SQL] 서브쿼리란? (0) | 2020.11.09 |
[쉽게 쓴 SQL] INTERSECT (0) | 2020.11.08 |
[쉽게 쓴 SQL] UNION + ALL (0) | 2020.11.06 |
[쉽게 쓴 SQL] LAG, LEAD 함수 (0) | 2020.11.06 |