CODING TEST/PROGRAMMERS

[SQL Lv.3] 프로그래머스 SQL Level 3 문제 정답 (헤비 유저가 소유한 장소, 오랜 기간 보호한 동물(2), 오랜 기간 보호한 동물(1), 있었는데요 없었습니다, 없어진 기록 찾기)

개발자 만두 2025. 4. 11. 13:12
728x90
반응형

모든 문제는 MySQL로 풀이했습니다 ❕

오늘의 문제 5개는 아래와 같습니다 ⤵️

오늘의 문제 5개

 

1. 헤비 유저가 소유한 장소

🔗 문제 링크

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

 

⌨️ 작성한 쿼리문 (MySQL)

WITH TEMP AS (
    SELECT HOST_ID FROM PLACES
    GROUP BY HOST_ID
    HAVING COUNT(HOST_ID) >= 2
)

SELECT * FROM PLACES
WHERE HOST_ID IN (SELECT HOST_ID FROM TEMP)
ORDER BY ID

 

2. 오랜 기간 보호한 동물(2)

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/59411

 

⌨️ 작성한 쿼리문 (MySQL)

SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY (O.DATETIME - I.DATETIME) DESC
LIMIT 2

 

3. 오랜 기간 보호한 동물(1)

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/59044

 

⌨️ 작성한 쿼리문 (MySQL)

SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS I LEFT OUTER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.DATETIME IS NULL
ORDER BY I.DATETIME
LIMIT 3

 

4. 있었는데요 없었습니다

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/59043

 

⌨️ 작성한 쿼리문 (MySQL)

SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.DATETIME > O.DATETIME
ORDER BY I.DATETIME

 

5. 없어진 기록 찾기

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/59042

 

⌨️ 작성한 쿼리문 (MySQL)

SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS I RIGHT OUTER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID

 

쿼리문에 대해 이해 안 가거나

궁금한 내용이 있으신 분은 댓글 남겨주세요!

감사합니다 🤓

 

728x90
반응형