본문 바로가기
알고리즘/SQL

프로그래머스 없어진 기록 찾기 (JOIN)

by canoe726 2020. 11. 19.
728x90

- 문제 핵심 조건

 

1. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회

 

=> 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물 : INS를 left, OUTS를 right 라고 보았을 때, RIGHT JOIN

 

(동물의 ID가 INS 에는 없고, OUTS에는 있어야 하기 때문임)

 

=> 보호소에 들어온 기록이 없는 동물 : INS에서의 동물 아이디 값이 NULL

 

=> ID 순으로 조회 : ORDER BY

 

 

* 테이블 : ANIMAL_INS(보호소에 들어온 동물들), ANIMAL_OUTS(보호소에서 나간 동물들)

 

* 칼럼명 : ANIMAL_ID(아이디), NAME(이름)

 

 

- 정답 코드

 

SELECT OUTS.ANIMAL_ID, OUTS.NAME 
FROM ANIMAL_INS AS INS 
RIGHT JOIN ANIMAL_OUTS AS OUTS 
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID 
WHERE INS.ANIMAL_ID IS NULL 
ORDER BY OUTS.ANIMAL_ID 

 

 

- 문제링크 : 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

 

728x90

댓글