반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

욱꾸미의 주꾸미 발

[코딩테스트] 프로그래머스 - 우유와 요거트가 담긴 장바구니(MySQL, Level4) 본문

코딩테스트/프로그래머스

[코딩테스트] 프로그래머스 - 우유와 요거트가 담긴 장바구니(MySQL, Level4)

욱꾸미 2022. 12. 9. 00:31
반응형

안녕하세요~ 오늘 출근시간에 풀어본 DB문제입니다.

은근 어려웠지만 답은 나왔네요~

그치만 검색해보니 더 간단하면서도 쉬운쿼리들이 많네요.

 

더 배워야겠습니다!

 

문제입니다.

https://school.programmers.co.kr/learn/courses/30/lessons/62284

 

프로그래머스

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

programmers.co.kr

 

다음은 제가 작성한 쿼리입니다.

-- 코드를 입력하세요
SELECT mt.cart_id
from (select cart_id, name from cart_products where name='Milk')as mt 
left join (select cart_id, name from cart_products where name='Yogurt')as yt
on mt.cart_id=yt.cart_id
where mt.name is not null
and yt.name is not null
order by mt.cart_id

쿼리에 대해 간단하게 설명드리자면

① Milk카테고리를 가진 데이터를 추출

② Yogurt카테고리를 가진 데이터를 추출

③ 다음 두 테이블을 outer join합니다. 그러면 각 컬럼에 Milk만 있을수도, Yogurt만 있을수도, 둘만 있을수도 있겠죠?

④ 여기서 Milk, Yogurt 컬럼 둘 다 갖고있는 Row만을 뽑아줍니다.

 

이런생각을 갖고했는데 Self Join으로 푸신분도 계시네요.

Join에 대해 좀더 공부해봐야겠습니다.

 

감사합니다. :D

 

반응형