코딩테스트
[SQL] 오랜 기간 보호한 동물(2)
haeseong5
2020. 8. 17. 14:53
https://programmers.co.kr/learn/courses/30/lessons/59411
코딩테스트 연습 - 오랜 기간 보호한 동물(2)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
문제
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.
정답
SELECT outs.ANIMAL_ID, outs.NAME FROM ANIMAL_OUTS as outs
LEFT JOIN ANIMAL_INS as ins ON outs.ANIMAL_ID = ins.ANIMAL_ID
WHERE outs.ANIMAL_ID IS NOT NULL
ORDER BY DATEDIFF(outs.DATETIME, ins.DATETIME) DESC
LIMIT 2;
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS INS, ANIMAL_OUTS OUTS
WHERE INS.ANIMAL_ID = OUTS.ANIMAL_ID
ORDER BY INS.DATETIME - OUTS.DATETIME
LIMIT 2;