NullNull

프로그래머스 SQL 우유와 요거트가 담긴 장바구니 본문

SQL

프로그래머스 SQL 우유와 요거트가 담긴 장바구니

KYBee 2022. 3. 1. 13:58

Data 구조

CART_PRODUCTS : 장바구니에 담긴 상품 정보를 담은 테이블

NAME TYPE
ID INT
CART_ID INT
NAME VARCHAR
PRICE INT

 

문제

데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 

 

예시

Input:

ID CART_ID NAME PRICE
1630 83 Cereal 3980
1631 83 Multipurpose Supply 3900
5491 286 Yogurt 2980
5504 286 Milk 1880
8435 448 Milk 1880
8437 448 Yogurt 2980
8438 448 Tea 11000
20236 1034 Yogurt 2980
20237 1034 Butter 4890

Output:

CART_ID
286
448

 

정답: 

Milk 를 구매한 카트 정보와 Yogurt 를 구매한 카트 정보를 INNER JOIN 하여 교집합을 찾으면 됩니다. SQL 쿼리를 보시면 직관적으로 이해할 수 있을 것 같습니다.

SELECT C1.CART_ID FROM CART_PRODUCTS C1 INNER JOIN CART_PRODUCTS C2
ON C1.CART_ID = C2.CART_ID
WHERE C1.NAME = 'Milk' AND C2.NAME = 'Yogurt'
ORDER BY C1.ID;
Comments