프로그래머스(Oracle)
[프로그래머스 (Oracle)] 오랜 기간 보호한 동물(1)
shs00925
2024. 9. 26. 00:53
힌트
- LEFT OUTER JOIN 사용:
- ANIMAL_INS 테이블의 모든 레코드와 ANIMAL_OUTS 테이블의 일치하는 레코드를 결합합니다.
- 이 때, ANIMAL_OUTS에 일치하는 레코드가 없는 경우에도 ANIMAL_INS의 레코드는 유지됩니다.
- 조건 필터링:
- WHERE 절에서 O.DATETIME IS NULL 조건을 사용하여, ANIMAL_OUTS에 없는 동물만 선택합니다.
- 즉, 아직 입양되지 않은 동물의 정보를 찾고 있습니다.
- 정렬 및 제한:
- ORDER BY I.DATETIME으로 입소 날짜를 기준으로 오름차순 정렬합니다.
- LIMIT 3을 사용하여 결과를 3개로 제한합니다.
정답은 더보기 클릭
더보기
더보기
SELECT I.NAME, I.DATETIME -- 동물의 이름과 입소 날짜 선택
FROM ANIMAL_INS I -- 입소 테이블에서 데이터 가져오기
LEFT OUTER JOIN ANIMAL_OUTS O -- 입소와 출소 테이블을 LEFT OUTER JOIN
ON I.ANIMAL_ID = O.ANIMAL_ID -- 동물 ID를 기준으로 조인
WHERE O.DATETIME IS NULL -- 출소 기록이 없는 동물 필터링
ORDER BY I.DATETIME -- 입소 날짜 기준으로 정렬
LIMIT 3 -- 결과를 3개로 제한