코딩 테스트/SQL

오랜 기간 보호한 동물

susinlee 2024. 12. 11. 09:19

[문제]
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.


[단계별 풀이]
1. ANIMAL_INS (I)테이블과  ANIMAL_OUTS (O)테이블을 ANIMAL_ID을 기준으로 LEFT JOIN

2. OUTS 테이블의 ANIMAL_ID가 NULL 행만 필터링

3. INS 테이블의 이름,  보호 시작일을 선택

4. INS 테이블의 보호시작일로 오름차순 정렬

5. LIMIT 으로 3행 제한



[정답]

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