문돌이 존버/DB 및 SQL 스터디
2021. 10. 2.
(프로그래머스 SQL 문제 풀이) 헤비 유저가 소유한 장소
SELECT * FROM PLACES WHERE HOST_ID IN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(ID) >= 2 ) ORDER BY ID; SELECT * FROM PLACES P1 WHERE EXISTS ( SELECT 1 FROM PLACES P2 WHERE P1.HOST_ID = P2.HOST_ID GROUP BY HOST_ID HAVING COUNT(ID) >= 2 ) ORDER BY ID; 두 방식 모두 서브쿼리와 HAVING COUNT()를 사용했다는 점에서 동일하지만 IN절을 사용했느냐, EXISTS절을 사용했느냐에 따라 다르다. EXISTS절은 해당하는 값이 존재하는지만 체크하기 때문에 존재하는 값을 전부 확인하는..