[프로그래머스/SQL] 있었는데요 없었습니다(59043) 풀이

업데이트:



문제 정보


풀이

문제

보호 시작(ANIMAL_INS) 시간보다 입양(ANIMAL_OUTS) 시간이 더 빠른, 즉 데이터상 앞뒤가 뒤바뀐 동물을 찾는 문제입니다.

출력 컬럼은 ANIMAL_ID, NAME이며 보호 시작 시간 오름차순으로 정렬해야 합니다.

코드

SELECT 
    INS.ANIMAL_ID,
    INS.NAME
FROM 
    ANIMAL_INS AS INS,
    ANIMAL_OUTS AS OUTS
WHERE
    INS.ANIMAL_ID = OUTS.ANIMAL_ID
    AND
    INS.DATETIME > OUTS.DATETIME
ORDER BY INS.DATETIME;

설명

핵심은 두 테이블을 ANIMAL_ID로 조인한 뒤, 시간 조건으로 필터링하는 것입니다.

  • INS.ANIMAL_ID = OUTS.ANIMAL_ID로 동일 동물 매칭
  • INS.DATETIME > OUTS.DATETIME만 추출
  • 정렬은 INS.DATETIME 오름차순

이 조건을 만족하는 레코드가 “보호소에 있었는데, 기록상 더 먼저 나간 것처럼 보이는” 데이터입니다.



댓글남기기