반응형
https://programmers.co.kr/learn/courses/30/lessons/62284
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 |