데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.
SELECT CART_ID
FROM (SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Yogurt') AS Y JOIN
(SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk') AS M
USING(CART_ID)
ORDER BY CART_ID ;
SELECT DISTINCT A.CART_ID
FROM CART_PRODUCTS AS A JOIN CART_PRODUCTS AS B
USING(CART_ID)
WHERE A.NAME = 'Milk' AND B.NAME = 'Yogurt'
SELECT DISTINCT A.CART_ID
FROM CART_PRODUCTS AS A, CART_PRODUCTS AS B
WHERE A.CART_ID = B.CART_ID
AND A.NAME = 'Milk' **AND** B.NAME = 'Yogurt'
ORDER BY A.CART_ID;
SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME LIKE 'Milk' AND CART_ID IN (SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME LIKE 'Yogurt');
SELECT CART_ID
FROM (SELECT CART_ID, DECODE(NAME, 'Milk', 1, 'Yogurt', 1, 0) AS CNT
FROM CART_PRODUCTS
GROUP BY CART_ID, NAME)
GROUP BY CART_ID
HAVING SUM(CNT) > 1
ORDER BY CART_ID