https://school.programmers.co.kr/learn/courses/30/lessons/62284
-- exists
SELECT DISTINCT C1.CART_ID
FROM CART_PRODUCTS C1
WHERE C1.NAME = 'MILK'
AND EXISTS(
SELECT 1
FROM CART_PRODUCTS C2
WHERE C2.CART_ID = C1.CART_ID
AND C2.NAME = 'Yogurt'
)
ORDER BY C1.CART_ID;
-- self join
SELECT DISTINCT C1.CART_ID
FROM CART_PRODUCTS C1
JOIN CART_PRODUCTS C2
ON C1.CART_ID = C2.CART_ID
WHERE C1.NAME = 'Milk'
AND C2.NAME = 'Yogurt'
ORDER BY C1.CART_ID;
-- 우유 + 요거트 CART_ID
SELECT CART_ID from CART_PRODUCTS
where NAME IN('Milk', 'Yogurt')
GROUP BY CART_ID
HAVING COUNT(DISTINCT NAME) = 2