웹 프로그래밍/SQL
[sql] 우유와 요거트 모두 산 사람 찾기 with tmp를 이용해서 품
mcdn
2021. 9. 15. 15:18
반응형
https://programmers.co.kr/learn/courses/30/lessons/62284
코딩테스트 연습 - 우유와 요거트가 담긴 장바구니
CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가
programmers.co.kr
-- 코드를 입력하세요
WITH tmp as (
SELECT *
FROM cart_products
WHERE NAME = 'Milk'
)
SELECT distinct cart_id
FROM tmp
WHERE tmp.cart_id in (
SELECT cart_id
FROM cart_products
WHERE NAME='Yogurt'
)
맞아서 신기했음..
ㅋㅋㅋㅋㅋ
더 깔끔한 모범코드들
SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Yogurt' AND CART_ID IN (
SELECT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk'
)
ORDER BY CART_ID;
SELECT a.cart_id
from cart_products as a, cart_products as b
where a.cart_id=b.cart_id and a.name='milk' and b.name='yogurt'
order by a.cart_id;
https://programmers.co.kr/questions/20479
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
3가지 방법 있다고 함
SELECT cart_id from(select cart_id, group_concat(distinct name) as NAME
from cart_products group by cart_id) st
where NAME like '%Milk%' and NAME like '%Yogurt%'
order by cart_id;
반응형