문제 설명
문제풀이
1. 서브 쿼리를 이용한 문제풀이
SELECT
CART_ID
FROM
CART_PRODUCTS
WHERE NAME = 'Milk' AND
CART_ID IN (SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Yogurt')
2. Join을 이용한 문제풀이
SELECT
M.CART_ID
from
(Select CART_ID from CART_PRODUCTS Where NAME='Milk') M
JOIN (Select CART_ID from CART_PRODUCTS Where NAME='Yogurt') Y
ON M.CART_ID=Y.CART_ID
order by CART_ID;
※ 내 생각
이 문제는 2가지 방식으로 문제 해결을 할 수 있습니다.
- JOIN
- 서브 쿼리
1. JOIN을 이용하는 경우
2개의 조회에 대한 정보를 조인하면 됩니다.
Select Where 로 요거트를 찾은 경우와 Select Where 로 우유를 찾은 경우
이 두가지에 대해서 조인을 하고 CART_ID가 같은 경우를 찾아냅니다.
2. 서브 쿼리 Select Where에서 우유든 요거트든 하나를 찾고
AND로 CART_IN에 대한 서브쿼리를 작성해서 다른 하나를 찾아줍니다.