오랜 기간 보호한 동물2

1484 단어 sqlsql

프로그래머스

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

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY B.DATETIME - A.DATETIME DESC
LIMIT 2

ANIMAL_INS 테이블을 A로, ANIMAL_OUTS 테이블을 B로 두고 A의 ID와 NAME을 뽑든 B의 ID와 NAME을 뽑든 상관은 없다.

이 때 고유 번호인 A의 아이디와 B의 아이디는 같아야하며
보호기간은 두 테이블의 DATETIME값의 차 이므로 이 값을 내림차순으로 정렬한다.

상위 두개를 뽑는 것은 LIMIT 2로 구현한다.

테이블 두개의 값을 모두 신경써야할 때 각각을 아이디로 엮는 것이 중요한 것 같다.

좋은 웹페이지 즐겨찾기