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

프로그래머스 (59411)
Stupefyee's avatar
Apr 04, 2025
[SQL 문제 풀이] 오랜 기간 보호한 동물(2)
notion image
 

내가 작성한 쿼리

Oracle

SELECT * FROM ( 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 -- 체류 기간 순으로 정렬 ) WHERE ROWNUM <= 2;

MySQL

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;

차이점

  • 상위 2개의 결과를 가져오는 방식의 차이
    • Oracle: 정렬 후 ROWNUM을 사용하려면 서브쿼리가 필요
    • MySQL: 정렬 후 LIMIT으로 상위 n개 추출이 가능
 
Share article

stupefyee