반응형
https://programmers.co.kr/learn/courses/30/lessons/62284
코딩테스트 연습 - 우유와 요거트가 담긴 장바구니
CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가
programmers.co.kr
left outer join, group by를 사용하는 문제였습니다.
풀이방법
1. 같은 테이블을 left outer join합니다
2. outer table의 name이 'Yogurt'고 inner table의 name이 'Milk'인 경우거나
outer table의 name이 'Milk'고 inner table의 name이 'Yogurt'인 경우인 outer table의 CART_ID들에 해당하는 tuple들을 모두 뽑아줍니다.
3. outer table의 CART_ID에 대해 그룹화를 적용해줍니다.
Code
SELECT C.CART_ID FROM CART_PRODUCTS C
LEFT OUTER JOIN CART_PRODUCTS CC ON C.CART_ID = CC.CART_ID
WHERE (C.NAME = 'Yogurt' AND CC.NAME = 'Milk') OR (C.NAME = 'Milk' AND CC.NAME = 'Yogurt')
GROUP BY C.CART_ID
'Algorithm > SQL' 카테고리의 다른 글
(MySQL) - LeetCode (easy) 197. Rising Temperature (0) | 2022.12.22 |
---|---|
(MySQL) - LeetCode (easy) 196. Delete Duplicate Emails (0) | 2022.12.21 |
(MYSQL) - 프로그래머스(2021 Dev-Matching: 웹 백엔드 개발자) : 헤비 유저가 소유한 장소 (0) | 2021.05.12 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 보호소에서 중성화한 동물 (0) | 2021.03.12 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 오랜 기간 보호한 동물(1) (0) | 2021.03.12 |