[프로그래머스 - MYSQL] 없어진 기록 찾기

2022. 1. 30. 22:40Computer Science/Algorithm

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

SELECT OUTS.ANIMAL_ID, OUTS.NAME 
FROM ANIMAL_OUTS AS OUTS LEFT OUTER JOIN ANIMAL_INS AS INS
ON INS.ANIMAL_ID=OUTS.ANIMAL_ID 
WHERE INS.ANIMAL_ID IS NULL
  1. 입양(OUTS)을 간 기록은 있는데, 보호소(INS)에 들어온 기록이 없는 데이터 
    - OUTS 테이블 ID에는 있지만, INS 테이블 ID 에는 없는 데이터를 찾아야 한다.
    - 일차로 LEFT JOIN 을 통해 두 테이블을 병합한다.
    - OUTS 테이블에서 INS ID를 제외하면 OUTS에만 존재하는 ID를 확인 할 수 있다.

WHERE 절에서 INS.ANIMAL_ID를 제외하는 것이 포인트!

반응형