새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/SQL

[프로그래머스] 오랜 기간 보호한 동물(2)

by 언호 2021. 12. 20.

문제


풀이 과정

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 

 

코딩테스트 연습 - 오랜 기간 보호한 동물(2)

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

댓글