https://programmers.co.kr/learn/courses/30/lessons/77487
문제 내용 : 이 서비스에서는 공간을 둘 이상 등록한 사람을 “헤비 유저”라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성하시오.
코드풀이:
SELECT *
FROM PLACES
WHERE HOST_ID IN (
SELECT HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(ID) >= 2)
ORDER BY ID
WHERE 절에 서브쿼리를 만들어 HOST_ID로 묶인 그룹중에서 크기가 2이상인 그룹의 ID 들을 반환해 IN 연산자로 비교했다.
https://programmers.co.kr/learn/courses/30/lessons/62284
문제내용: 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.
SELECT A.CART_ID FROM
(SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'YOGURT') as A,
(SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'MILK') as B
WHERE A.CART_ID = B.CART_ID
SELECT a.CART_ID
FROM CART_PRODUCTS a JOIN CART_PRODUCTS b ON a.CART_ID = b.CART_ID
WHERE a.NAME = "Milk" AND b.NAME = "Yogurt"
ORDER BY CART_ID;
테이블 두개를 만든후 각 PK로 INNERJOIN 한 인스턴스에서 CART_ID 값을 뽑았다.
검색해보니깐 서브쿼리로 푸는 방법이 있다.
'TIL' 카테고리의 다른 글
[TIL] ajax (0) | 2021.09.02 |
---|---|
프로그래머스 네트워크 Java (0) | 2021.08.29 |
[TIL] CSS 포지셔닝, JavaScript 문법, MySQL JOIN (0) | 2021.08.27 |
프로그래머스 오랜 기간 보호한 동물(2) mysql (0) | 2021.08.27 |
프로그래머스 SQL 입양 시각 구하기(2) MySQL (0) | 2021.08.26 |
최근댓글