본문 바로가기
Programming/Programmers

[프로그래머스] 헤비 유저가 소유한 장소 (MySQL)

by 데이터현 2021. 11. 16.

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

 

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

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

programmers.co.kr

서브쿼리를 활용한다.

 

IN , EXISTS

EXISTS가 좀 더 효율적

 

IN 사용

SELECT ID, NAME, HOST_ID FROM PLACES WHERE
HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID
HAVING COUNT(HOST_ID) >=2)
ORDER BY ID;

 

EXISTS 사용

SELECT * FROM PLACES P1
WHERE EXISTS (
    SELECT 1 FROM PLACES P2
    WHERE P1.HOST_ID = P2.HOST_ID
    GROUP BY HOST_ID
    HAVING COUNT(*) >= 2
)
ORDER BY ID ASC;

댓글