본문 바로가기
코딩테스트/프로그래머스

[프로그래머스/sql] 헤비 유저가 소유한 장소 - ORACLE 셀프조인

by drCode 2022. 4. 1.
728x90
반응형

헤비 유저가 소유한 장소 - ORACLE

 

https://programmers.co.kr/learn/courses/30/lessons/77487?language=oracle 

 

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

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

programmers.co.kr

 

셀프조인이란?

 

동일한 테이블끼리 조회한다.

 

FROM 문에서 같은 테이블이 두번 등장한다.

 

주로 테이블 내에서 데이터를 비교할 때 사용한다.

 

이 문제는 두번 이상 나오는 호스트 아이디를 찾아야 하는 것이니

 

ID는 다르지만, HOST_ID는 같은 질의를 실행하면 된다

 

SELECT DISTINCT a.ID, a.NAME, a.HOST_ID
  FROM PLACES a, PLACES b
 WHERE 1=1
   AND a.ID != b.ID
   AND a.HOST_ID = b.HOST_ID
ORDER BY ID ASC;

 

실행 결과는 아래와 같다.

 

헤비 유저가 소유한 저장소 질의 실행 결과

728x90
반응형

댓글