SQL
(프로그래머스) SQL Level 3 [오랜 기간 보호한 동물(1)] Oracle 풀이
5사
2021. 12. 10. 09:58
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/59044
코딩테스트 연습 - 오랜 기간 보호한 동물(1)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
SELECT *
FROM (SELECT I.NAME NAME, I.DATETIME DATETIME
FROM ANIMAL_INS I LEFT OUTER JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE SEX_UPON_OUTCOME IS NULL
ORDER BY 2)
WHERE ROWNUM <=3;
-- animal_ins와 animal_outs를 left outer join 하여 sex_upon_outcome의 값이 null이 되면 아직 입양을 가지 못한 것이기 때문에 이 조건에 만족하는 동물의 이름과, 보호 시작일을 뽑는다
-- 문제에서 가장 오래 보호소에 있었던 동물 3마리를 뽑아야 한다고 했기 때문에 서브 쿼리에서 미리 보호 시작일을 기준으로 정렬해준 후, rownum을 3까지 출력하면 된다