[프로그래머스 / SQL] 오랜 기간 보호한 동물(1)

Dreamer·2025년 5월 24일

문제

아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.

나의 풀이

  1. NOT EXIST 서브 쿼리문 사용
SELECT NAME, DATETIME 
FROM ANIMAL_INS ai1
WHERE NOT EXISTS (
    SELECT 1 
    FROM ANIMAL_OUTS ao 
    WHERE ao.ANIMAL_ID = ai1.ANIMAL_ID
)
ORDER BY DATETIME ASC
LIMIT 3;
  1. LEFT JOIN 사용
SELECT ai.NAME, ai.DATETIME 
FROM ANIMAL_INS ai
LEFT JOIN ANIMAL_OUTS ao ON ai.ANIMAL_ID = ao.ANIMAL_ID
WHERE ao.ANIMAL_ID IS NULL
ORDER BY ai.DATETIME ASC
LIMIT 3;
profile
Moving forward based on records

0개의 댓글