알고리즘 풀어주는 블로그

[SQL] 없어진 기록 찾기 (LEFT OUTER JOIN) 본문

알고리즘 문제/programmers

[SQL] 없어진 기록 찾기 (LEFT OUTER JOIN)

요네리 2021. 6. 9. 08:41

Q. 문제

https://programmers.co.kr/learn/courses/30/lessons/59042

 

코딩테스트 연습 - 없어진 기록 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

A. 풀이

SELECT B.ANIMAL_ID, B.NAME
FROM ANIMAL_OUTS B LEFT OUTER JOIN ANIMAL_INS A ON B.ANIMAL_ID = A.ANIMAL_ID
WHERE A.ANIMAL_ID is NULL
ORDER BY B.ANIMAL_ID

 

LEFT OUTER JOIN : 왼쪽에 있는 테이블와 ON 조건을 기준으로 오른쪽 테이블 붙이기, 없는 속성 값은 NULL 이 됨

 -> 입양 간 기록 존재 : 왼쪽 테이블 = ANIMAL_OUTS

 -> 보호소에 들어온 기록 존재하지 않음 : 오른쪽 테이블 = ANIMAL_INS (NULL)