프로그래머스 SQL
없어진 기록 찾기
kangyuseok
2023. 4. 29. 01:54
728x90
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59042
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
join 을 사용하는 것이다.(두 테이블을 연결하는 외래키가 있어야 한다.)
-- 코드를 입력하세요
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_INS I RIGHT JOIN ANIMAL_OUTS O
on I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID
OUTER JOIN(합집합)
- LEFT JOIN : 왼쪽 테이블 전체와 오른쪽 테이블은 두 외래키 값이 같은 결과만 리턴(오른쪽 테이블은 NULL이 포함될 수 있음)
- RIGHT JOIN : 오른쪽 테이블 전체와 왼쪽 테이블은 두 외래키 값이 같은 결과만 리턴(왼쪽 테이블은 NULL이 포함될 수 있음)
여기서는 RIGHT JOIN을 사용했다. 그렇게 되면 ANIMAL_OUTS 테이블의 ANIMAL_ID 값은 NULL이 있을 수 없고
ANIMAL_INS의 테이블의 ANIMAL_ID값엔 NULL이 포함될 수 있다
이해를 위한 reference
이렇게 JOIN 한 결과에서 ANIMAL_INS 테이블의 ANIMAL_ID가 NULL인 것을 찾으면 된다.