천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.
요약하자면 ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 있고 ANIMAL_OUTS 테이블이 ANIMAL_INS 테이블의 키를 참조하고 있다 (ANIMAL_OUTS 에 외래키 설정)
ANIMAL_OUTS 테이블에는 존재하며, ANIMAL_INS 테이블에 존재하지 않는 데이터를 찾으면 된다. 아래의 이미지를 참고하면 금방 풀게 된다.
참조 링크: SQL JOINS
왼쪽에 ANIMAL_OUTS 를 두고 LEFT JOIN 을 사용하여, ANIMAL_INS 의 키가 NULL 인 데이터를 찾으면, ANIMAL_OUTS 에만 존재하는 데이터를 찾을 수 있다.
순서를 바꿔서 RIGHT JOIN 을 사용할 수도 있지만 왠만하면 LEFT 조인으로 처리한다.
SELECT
outs.animal_id, outs.name
FROM animal_outs AS outs
LEFT JOIN animal_ins AS ins
ON outs.animal_id = ins.animal_id
WHERE
ins.animal_id IS NULL;