Mo!
(프로그래머스) SQL Level 3 [헤비 유저가 소유한 장소] Oracle 풀이 본문
SQL

(프로그래머스) SQL Level 3 [헤비 유저가 소유한 장소] Oracle 풀이

5사 2021. 12. 8.

문제 링크

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

 

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

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

programmers.co.kr

JOIN을 이용한 풀이

 

 

PLACES A JOIN (SELECT HOST_ID, COUNT(*) CNT
                    FROM PLACES
                    GROUP BY HOST_ID) B

-- 공간을 둘 이상 등록한 사람을 찾기 위해 JOIN을 사용한다

-- places에 a라는 테이블 별칭을 주고, host_id별로 그룹 지어 카운트한 것을 b라는 별칭을 주어 조인한다

 

ON (A.HOST_ID = B.HOST_ID)

-- 조인 조건은 a의 host_id와 b의 host_id가 같다라는 조건을 주면 된다

 

WHERE CNT != 1

-- 공간을 둘 이상 등록한 사람을 찾아야 하기 때문에 host_id별로 그룹 지어 카운트한 것이 1이면 안된다라는 조건을 준다

 

ORDER BY ID

-- ID 순으로 정렬하여 출력하면 된다

 

 

Comments