YataNox
[My_SQL] Lv.4 우유와 요거트가 담긴 장바구니 본문
문제
처음 봤을 땐 이게 레벨 4? 라는 생각이 바로 들었다.
NAME이 Milk인 경우와 Yogurt인 경우를 구해서 INTERSECT를 통해서 교집합인 CART_ID를 뽑아냈다.
이후 다른 사람이 푼 것을 봤는데 이 방식도 재밌었다.
NAME이 milk, Yogurt인 것들만 도출해서 cart_id를 기반으로 그룹화하고 중복제거한 NAME의 갯수가 2개인 것을 뽑아냈다. 이 방식도 흥미로워 둘 다 올려본다.
코드
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk'
INTERSECT
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Yogurt'
ORDER BY 1 ASC;
OR
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME IN ('Milk', 'Yogurt')
GROUP BY CART_ID
HAVING COUNT(DISTINCT NAME) = 2
ORDER BY CART_ID;
'DB > Programmers SQL' 카테고리의 다른 글
[My_SQL] Lv.5 멸종위기의 대장균 찾기 (0) | 2024.06.17 |
---|---|
[My_SQL] Lv.4 언어별 개발자 분류하기 (0) | 2024.06.17 |
[My_SQL] Lv.4 취소되지 않은 진료 예약 조회하기 (0) | 2024.06.10 |
[My_SQL] Lv.4 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (0) | 2024.06.10 |
[My_SQL] Lv.3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2024.06.10 |