[SQL 문제 풀기] 오랜 기간 보호한 동물(2)(59411)

lhs's avatar
Dec 19, 2024
[SQL 문제 풀기] 오랜 기간 보호한 동물(2)(59411)
 

1. 문제 풀이 아이디어

  • JOIN 절을 사용하여 테이블을 결합한 뒤, ORDER BY 절에서 연산을 한 결과로 정렬하면 문제를 해결할 수 있다.

2. 나의 정답 코드

SELECT i.animal_id, i.name FROM animal_ins i JOIN animal_outs o ON i.animal_id = o.animal_id ORDER BY o.datetime - i.datetime DESC LIMIT 2;

3. 정리

  • JOIN 절을 사용해 animal_outs 테이블을 조인하며, 동일한 컬럼명을 가진 두 테이블을 구분하기 위해 별칭을 사용한다.
  • ORDER BY 절에서 두 datetime 컬럼의 차이를 계산한 값을 기준으로 내림차순 정렬한다.
  • LIMIT 절을 사용하여 상위 2개의 행만 조회한다.
Share article

LHS's Study Space