SQL/프로그래머스

SQL 프로그래머스 2일차_LEFT OUTER

as_형준 2022. 12. 28. 13:24
  1. 없어진 기록 찾기

천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.

 

힌트

ANIMAL_OUTS 테이블에서

  • Allie의 ID는 ANIMAL_INS에 없으므로, Allie의 데이터는 유실되었습니다.
  • Gia의 ID는 ANIMAL_INS에 있으므로, Gia의 데이터는 유실되지 않았습니다.
  • Spice의 ID는 ANIMAL_INS에 없으므로, Spice의 데이터는 유실되었습니다.

정답 예제

ANIMAL_IDNAME

A349733 Allie
A349990 Spice

 

정답 코드

SELECT A.ANIMAL_ID ,A.NAME
FROM ANIMAL_OUTS A LEFT OUTER JOIN ANIMAL_INS B  
-- A인 입양기록목록에는 있지만 보호목록에 없는 아이만 조회
-- 입양을 기준으로 조인했을때 보호 목록이 NULL인 ID만 조회하면 된다
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL  --  보호 목록이 널인 행 출력