Koo's.Co

[Programmers] 우유와 요거트가 담긴 장바구니 본문

PS/Programmers - SQL

[Programmers] 우유와 요거트가 담긴 장바구니

kth321 2022. 9. 18. 01:49
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

CART_PRODUCT

NAME TYPE DESCRIPTION
ID INT 회원 아이디
CART_ID INT 카트 아이디
NAME VARCHAR 물품 이름
PRICE INT 물품 가격

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

 

문제

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

SELECT DISTINCT CART_ID
  FROM CART_PRODUCTS
 WHERE NAME = 'Milk'
   AND CART_ID IN 
        (SELECT CART_ID
           FROM CART_PRODUCTS
          WHERE NAME = 'Yogurt')
 ORDER BY ID

서브쿼리를 이용해 해결한 문제입니다.

서브쿼리에서는 "Yogurt"를 담고 있는 장바구니의 CART_ID를 조회합니다.

메인 쿼리에서는 "Milk"를 담고 있는 장바구니이면서 "Yogurt"를 담고 있는 CART_ID인 경우를 조회합니다.

Comments