본문 바로가기

Programmers/SQL

[Programmers/SQL] 오랜 기간 보호한 동물(2)

1. 테이블 구조

[그림 1] ANIMAL_INS 테이블
[그림 2] ANIMAL_OUTS 테이블

2. 문제

입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.

3. 풀이

ANIMAL_OUT 테이블과 ANIMAL_INS 테이블을 조인해서 ANIMAL_OUT테이블의 DATETIME와 ANIMAL_INS테이블의 DATETIME을 뺀 값이 가장 큰 순서로 정렬하여 2개만 반환한다.

SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
ORDER BY (OUTS.DATETIME - INS.DATETIME) DESC
LIMIT 2;

[참조]

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