-
없어진 기록 찾기프로그래머스 SQL 2023. 4. 29. 01:54728x90
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59042
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인 것을 찾으면 된다.
'프로그래머스 SQL' 카테고리의 다른 글
고양이와 개는 몇 마리 있을까 (0) 2023.04.29 3월에 태어난 여성 회원 목록 출력하기 (Oracle, MySQL) (0) 2023.04.29 상위 n개 레코드 (0) 2023.04.29 여러 기준으로 정렬하기 (0) 2023.04.29 아픈 동물 찾기 (0) 2023.04.29