SQL 문제

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

빙수빈수 2023. 10. 10. 10:13

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

 

프로그래머스

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

programmers.co.kr

[문제]

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

 

NAME TYPE
ID INT
NAME VARCHAR
HOST_ID INT

이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요.

 

[코드]

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;

 

[고찰]

 이 문제는 서브쿼리를 사용하는 문제였다. 서브쿼리 내에서는 헤비 유저인지 판별하기 위해 HOST_ID가 2번 이상 나온 컬럼을 선택하는 SQL 문을 작성해주면 정답 처리를 받을 수 있었다.