SELECT distinct cart_id
FROM CART_PRODUCTS
WHERE NAME IN ('Milk', 'Yogurt')
처럼 사용하려고 했으나, or이 들어가는 구문이기 때문에
Milk만 있는경우와 Yogurt만 있는 경우 둘다 들어가게된다.
정답
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk'
INTERSECT
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Yogurt'
ORDER BY CART_ID
위와 같은 경우 우유가 들어가는 경우와 요거트가 들어가는 경우의 교집합을 만들어서
둘다 들어가는 경우를 만들수 있다.
SELECT
CART_ID
FROM
CART_PRODUCTS
WHERE CART_ID IN ( SELECT
CART_ID
FROM
CART_PRODUCTS
WHERE
NAME = 'Milk')
AND NAME = 'Yogurt'
ORDER BY CART_ID ASC;
서브쿼리로 우유가 들어가는 경우의 id중에서 요거트도 들어가는 경우를 뽑는다.