본문 바로가기
Computer/Algorithm_SQL

[Algorithm_SQL] 헤비 유저가 소유한 장소 (Success)

by HJ0216 2023. 10. 20.
 

프로그래머스

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

programmers.co.kr

🙂 확인 사항

1. PLACES 테이블

2. 헤비 유저

3. 아이디 내림차순 정렬

 

 

📝 Language: Oracle

1
2
3
4
5
6
7
8
9
10
  SELECT * 
    FROM PLACES
   WHERE HOST_ID IN (
         SELECT HOST_ID 
           FROM PLACES
       GROUP BY HOST_ID
         HAVING COUNT(HOST_ID) > 1)
ORDER BY ID
;
 
 

* 중첩 SubQuery

 

1
2
3
4
5
6
7
8
9
10
11
12
13
WITH CONDITIONS AS (
      SELECT HOST_ID 
        FROM PLACES
    GROUP BY HOST_ID
      HAVING COUNT(HOST_ID) > 1
)
  SELECT P.*
    FROM PLACES P
    JOIN CONDITIONS C 
      ON P.HOST_ID = C.HOST_ID
ORDER BY P.ID
;
 
 

* 공통 표현식 + Inner Join

 

1
2
3
4
5
6
7
8
9
10
11
12
WITH CONDITIONS AS (
      SELECT HOST_ID 
        FROM PLACES
    GROUP BY HOST_ID
      HAVING COUNT(HOST_ID) > 1
)
  SELECT *
    FROM PLACES
   WHERE HOST_ID IN (SELECT HOST_ID FROM CONDITIONS)
ORDER BY ID
;
 
 

* 공통 표현식 + 중첩 Sub Query

 

⭐Oracle SQL에서는 IN 절 안에 직접 서브쿼리를 넣어야하므로, 공통표현식을 서브쿼리 형태로 작성

 

 

 

🔗 소스 코드
GitHub