데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.
INTERSECT
를 이용한 풀이Yogurt
를 가진 CART_ID
와 Milk
를 가진 CART_ID
의 교집합을 구한다.SELECT CART_ID FROM CART_PRODUCTS
WHERE NAME = 'Yogurt'
INTERSECT
SELECT CART_ID FROM CART_PRODUCTS
WHERE NAME = 'Milk'
ORDER BY CART_ID
INTERSECT
없이 풀이Milk
, Yogurt
를 가진 CART_ID
들 중 둘 이상 나온 값들을 구한다.GROUP BY
조건을 통해 묶었기 때문에 가능한 것SELECT CART_ID FROM CART_PRODUCTS
WHERE NAME IN ('Milk', 'Yogurt')
GROUP BY CART_ID
HAVING COUNT(DISTINCT NAME) >= 2
ORDER BY CART_ID