https://school.programmers.co.kr/learn/courses/30/lessons/59044
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
LEFT JOIN 활용
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS I
LEFT JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.DATETIME IS NULL
ORDER BY I.DATETIME ASC
LIMIT 3;
- left join을 활용해도되고 서브쿼리를 사용해도 되는 문제
- left join을 활용해서 보호소로 들어온 동물을 모두 출력되도록한다.
- 입양간동물리스트에서 datetime이 비어있다는 뜻은 아직 입양을 가지 않았다는 뜻이므로
- O.DATETIME이 null 인것을 출력하면 된다.
서브쿼리 활용
SELECT NAME, DATETIME
FROM ANIMAL_INS
WHERE ANIMAL_ID NOT IN
(SELECT ANIMAL_ID FROM ANIMAL_OUTS)
ORDER BY DATETIME ASC
LIMIT 3;
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (MySQL) (0) | 2025.04.14 |
---|---|
[프로그래머스] 오랜 기간 보호한 동물(2) (SQL) (0) | 2025.03.18 |
[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 (SQL) (0) | 2025.03.14 |
[프로그래머스] SQL 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2025.03.09 |
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 (MySQL) (0) | 2025.03.03 |