# JOIN - 없어진 기록 찾기

- Author: @mildsalmon
- Published: 2021-10-15
- Updated: 2021-10-16
- Source: http://blex.me/@mildsalmon/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-join-%EC%97%86%EC%96%B4%EC%A7%84-%EA%B8%B0%EB%A1%9D-%EC%B0%BE%EA%B8%B0
- Tags: 프로그래머스, 코딩테스트, 문제, 오라클, sql

---

# 1. 없어진 기록 찾기

### A. 문제

위 프로그래머스 사이트에 접속하여 문제를 확인해주세요.

### B. 내 답안

```SQL

-- Oracle
  
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_INS INS RIGHT OUTER JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID)
WHERE INS.DATETIME IS NULL
ORDER BY ANIMAL_ID;

```

##### a. 회고

> 내 풀이

- `JOIN`문제이다.
- ANIMAL_ID를 기준으로 `OUTER JOIN`을 시도한다.
	- `RIGHT OUTER JOIN`인 이유는 ANIMAL_OUTS에 존재하는 데이터는 전부 살려서 어떤 행이 ANIMAL_INS에 없는지 확인해야 하기 때문이다.
- `RIGHT OUTER JOIN`을 하고 ANIMAL_INS 컬럼 부분이 NULL이라면 출력한다.

# 참고문헌

JOIN. [코딩테스트 연습 - 없어진 기록 찾기 | 프로그래머스 (programmers.co.kr)](https://programmers.co.kr/learn/courses/30/lessons/59042). Programmers. (accessed Oct 15, 2021)
