정보
분류 : 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를 추출하였다. 글쓴이가 푼 방법보다 더 직관적이라 좋은 것 같다.
'💡문제 풀이 > 프로그래머스 - Oracle' 카테고리의 다른 글
즐겨찾기가 가장 많은 식당 정보 출력하기 / 131123 (0) | 2024.06.25 |
---|---|
조건별로 분류하여 주문상태 출력하기 / 131113 (0) | 2024.06.25 |
오랜 기간 보호한 동물(2) / 59044 (0) | 2024.06.25 |
오랜 기간 보호한 동물(1) / 59044 (0) | 2024.06.25 |
있었는데요 없었습니다 / 59042 (0) | 2024.06.25 |