INNER JOIN 을 사용해서 푸는 문제이다.
INNER JOIN 은 익숙하기 때문에 따로 설명은 하지 않겠다.
다만 DATETIME 의 차이를 구할 때, 형태가 다르다면 TO_CHAR로 형태를 맞추고 같다면 바로 빼주면 된다.
기본단위는 일 이며 시간이 추가되면 소숫점이 나오므로 ROUND나 CEIL, TRUNC를 사용하여 처리해야한다.
SELECT * FROM (
SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I, ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID ORDER BY O.DATETIME - I.DATETIME DESC
) WHERE ROWNUM <= 2;
'Coding_Test 연습 > Oracle' 카테고리의 다른 글
[프로그래머스] (Oracle) LV3 헤비 유저가 소유한 장소 (0) | 2022.10.12 |
---|---|
[프로그래머스] (Oracle) LV3 없어진 기록 찾기 (0) | 2022.10.12 |
[프로그래머스] (Oracle) LV3 오랜 기간 보호한 동물(1) (0) | 2022.10.11 |
[프로그래머스] (Oracle) LV2 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2022.10.11 |
[프로그래머스] (Oracle) LV2 루시와 엘라 찾기 (0) | 2022.10.11 |