[프로그래머스] 있었는데요 없었습니다

yannie·2024년 10월 1일
0

[문제]

관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.

[내가 푼 풀이(정답)]

-- 보호 시작일보다 입양일이 더 빠른 동물
SELECT
    I.ANIMAL_ID,
    I.NAME
FROM ANIMAL_INS I
LEFT JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.DATETIME > O.DATETIME
ORDER BY I.DATETIME
;

[코드리뷰]

  • LEFT JOIN을 사용해 ANIMAL_INS에 있는 모든 동물 데이터를 가져오고, 입양 기록이 있는 경우에만 ANIMAL_OUTS의 데이터를 조인한다.
  • 입양 기록이 없으면 ANIMAL_OUTS의 값은 NULL
  • WHERE I.DATETIME > O.DATETIME을 통해 보호 시작일이 입양일보다 이후인 동물만 조회함

기억해!

  • LEFT JOIN을 사용할 때, 조인된 테이블의 값이 NULL값인 경우는?

0개의 댓글