문제
풀이 과정
1) 문제 이해 및 접근
두개 테이블의 각 열을 비교하여 연산이 필요하므로 조인으로 접근하였습니다.
마지막에 상위 2개의 값이 필요하여 조인한 결과를 서브쿼리로 이용했습니다.
2) 풀이 코드
사용 언어 - Oracle
SELECT ANIMAL_ID, NAME -- 출력 열
FROM (
SELECT ai.*
FROM ANIMAL_INS ai, ANIMAL_OUTS ao
WHERE ai.ANIMAL_ID = ao.ANIMAL_ID
ORDER BY (ao.DATETIME - ai.DATETIME) DESC
) -- 서브쿼리 (두개의 테이블 조인하여 보호기간이 긴 순서대로 출력)
WHERE ROWNUM <= 2 -- 상위 두개의 결과만 출력
결과 및 학습한 내용
1) 어려웠던 내용
데이터에서 의도치 않은 잘못된 데이터가 존재했습니다.
2) 새롭게 학습한 내용
특별히 없습니다.
문제 링크
- https://programmers.co.kr/learn/courses/30/lessons/59411?language=oracle
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > SQL' 카테고리의 다른 글
[HackerRank] Weather Observation Station 15 (0) | 2021.12.22 |
---|---|
[HackerRank] Weather Observation Station 13 (0) | 2021.12.21 |
[프로그래머스] 없어진 기록 찾기 (0) | 2021.12.19 |
[프로그래머스] 헤비 유저가 소유한 장소 (0) | 2021.12.18 |
[프로그래머스] 있었는데요 없었습니다 (0) | 2021.12.17 |
댓글