프로그래머스 - SQL SELECT 없어진 기록 찾기

dev-swd·2021년 1월 15일
1

sql practice

목록 보기
3/5
post-thumbnail

프로그래머스 SQL SELECT : 없어진 기록 찾기


문제:

천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 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;
profile
개발을 취미로 할 수 있는 그 때 까지

0개의 댓글