본문 바로가기
Problem Solving/프로그래머스 SQL

[프로그래머스 SQL] 헤비 유저가 소유한 장소

by Libi 2021. 8. 11.
반응형

https://programmers.co.kr/learn/courses/30/lessons/77487

 

코딩테스트 연습 - 헤비 유저가 소유한 장소

PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를

programmers.co.kr

[ 문제풀이 ]

GROUP BY 절과 HAVING 절을 활용할 수 있는지 묻는 문제이다. 이를 활용하여 헤비 유저의 HOST_ID를 추출한 후 기존의 테이블과 비교해 주면 된다.

비교는 IN 함수를 사용해 주면 된다. IN 함수는 다른 SELECT 문도 활용할 수 있다는 장점이 있다.

SELECT ID, NAME, HOST_ID
FROM PLACES
WHERE HOST_ID IN (SELECT HOST_ID
                  FROM PLACES
                  GROUP BY HOST_ID
                  HAVING COUNT(HOST_ID) >= 2)
ORDER BY ID ASC;
-- IN 함수는 IN 연산자에 다른 SELECT 문을 삽입할 수 있음 => 동적 WHERE 절을 만들 수 있음

 

 

반응형

댓글