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

 

 

문제 분석

- 보호 기간이 가장 오래된 동물 두마리의 아이디와 이름을 조회한다.

- 보호 기간은 각각의 테이블을 join하여 입양일에서 보호 시작일을 빼서 구한다.

- 가장 기간이 긴 동물 2마리를 limit 2로 제한하여 출력한다.

 

 

문제 풀이

1. select문을 통해 ID와 이름을 출력한다.

2. inner join을 통해 ID를 기준으로 매핑한다.

3. 각각의 테이블에서 입양일에서 보호 시작일을 뺀 기간을 내림차순으로 정렬한다.

4. limit 2를 통해 상위 2마리의 동물을 출력한다.

select I.ANIMAL_ID, I.NAME
from ANIMAL_INS I inner join ANIMAL_OUTS O on I.ANIMAL_ID = O.ANIMAL_ID
order by O.DATETIME - I.DATETIME desc
limit 2;

 

 

https://github.com/SOEUN2/Algorithm