_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (272)
    • 데이터 엔지니어링 (29)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

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

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

2022. 12. 7. 16:25
반응형

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

 

프로그래머스

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

programmers.co.kr

SELECT DISTINCT(M.CART_ID)
FROM (SELECT CART_ID,NAME FROM CART_PRODUCTS WHERE NAME LIKE '%Milk%') AS M
JOIN (SELECT CART_ID, NAME FROM CART_PRODUCTS WHERE NAME LIKE '%Yogurt%') AS Y
ON M.CART_ID = Y.CART_ID
ORDER BY M.CART_ID

두 개의 서브쿼리를 JOIN하는 방식으로 문제를 해결하였습니다.

장바구니에 우유와 요거트가 동시에 들어있어야 하기 때문에

먼저 M 테이블(우유를 가지고 있는 CART_ID, NAME)과 Y 테이블(요거트를 가지고 있는 CART_ID, NAME)을 CART_ID를 기준으로 JOIN하여 우유와 요거트를 동시에 가지고 있는 CART_ID를 찾을 수 있습니다.

위의 모양처럼 중복이 제거가 되지 않은 상태로 나오기 때문에

DISTINCT()문을 사용하여 중복을 제거하여 CART_ID를 출력하였습니다.

 

반응형

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기 MySQL  (0) 2022.12.08
[코딩테스트] 프로그래머스 서울에 위치한 식당 목록 출력하기 MySQL  (0) 2022.12.07
[코딩테스트] 프로그래머스 식품분류별 가장 비싼 식품의 정보 조회하기 MySQL  (1) 2022.12.06
[코딩테스트] 프로그래머스 5월 식품들의 총매출 조회하기  (0) 2022.12.06
[코딩테스트] 프로그래머스 헤비 유저가 소유한 장소 MySQL  (0) 2022.12.05
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기 MySQL
    • [코딩테스트] 프로그래머스 서울에 위치한 식당 목록 출력하기 MySQL
    • [코딩테스트] 프로그래머스 식품분류별 가장 비싼 식품의 정보 조회하기 MySQL
    • [코딩테스트] 프로그래머스 5월 식품들의 총매출 조회하기
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바