본문 바로가기

Programmers/SQL

[Programmers/SQL] 없어진 기록 찾기

1. 테이블 구조

[그림 1] ANIMAL_INS 테이블
[그림 2] ANIMAL_OUTS 테이블

2. 문제

천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.

3. 풀이

ANIMAL_OUT 테이블을 기준으로 ANIMAL_INS 테이블과 LEFT OUTER JOIN을 사용해서 ANIMAL_INS 테이블에서 존재하지 않는 ANIMAL_ID만 출력한다.

SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
LEFT OUTER JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
ORDER BY ANIMAL_ID ASC;

[참조]

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