💡문제 풀이/프로그래머스 - Oracle

헤비 유저가 소유한 장소 / 77487

뇌 리셋은 기본이지 2024. 6. 25. 16:07

정보

분류 : 2021 Dev-Matching: 웹 백엔드 개발자(상반기)

 

문제

문제링크

 

풀이

-- 조       건 : 헤비 유저가 등록한 공간의 정보 추출
-- 정렬조건 : 아이디 순으로 조회

풀이 1. JOIN절


  
SELECT P.*
FROM PLACES P
JOIN (
SELECT COUNT(*)
, HOST_ID
FROM PLACES
GROUP BY HOST_ID
HAVING COUNT(*) >= 2
) P2
ON P.HOST_ID = P2.HOST_ID
ORDER BY P.ID

풀이 2. WHERE절


  
SELECT *
FROM PLACES P1
WHERE (
SELECT COUNT(*)
FROM PLACES
WHERE P1.HOST_ID = HOST_ID
) >= 2
ORDER BY P1.ID

 

풀이 내용

풀이 1은 글쓴이가 푼 방법이고 풀이 2는 다른 분이 푼 방법이다.

풀이 1은 JOIN 기준 오른쪽에 있는 서브쿼리를 통해 공간을 둘 이상 가지고 있는 HOST_ID를 추출해서 PLACES 테이블에 있는 HOST_ID와 JOIN하여 데이터를 출력해주었다.

풀이 2는 HOST_ID 기준 COUNT를 진행하여 공간을 둘 이상 등록한 HOST_ID를 추출하였다. 글쓴이가 푼 방법보다 더 직관적이라 좋은 것 같다.