본문 바로가기

문돌이 존버/DB 및 SQL 스터디

(프로그래머스 SQL 문제 풀이) 우유와 요거트가 담긴 장바구니

반응형
-- 서브쿼리 활용
SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk' AND
CART_ID IN (SELECT DISTINCT CART_ID
           FROM CART_PRODUCTS
           WHERE NAME = 'Yogurt')
-- JOIN 활용
SELECT DISTINCT A.CART_ID
FROM (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') A
INNER JOIN (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk') B
ON A.CART_ID = B.CART_ID

MySQL에서 alias를 활용하는 방법은 2가지다. 테이블 뒤에 바로 alias를 명시해주던지 혹은 AS alias 형태를 만들어주면 된다. 특히 join문을 활용할 때 alias를 활용하면 ON 뒤에도 alias를, 맨 윗 줄의 SELECT 에서도 alias를 반드시 써줘야 한다.

참고로 MySQL에선 INNER JOIN 대신 그냥 JOIN만 써도 된다.

728x90
반응형