본문 바로가기
코딩테스트/SQL

[프로그래머스] JOIN 〉Lv3. 없어진 기록 찾기

by imsha 2021. 10. 21.

문제 설명

 


예시

 


풀이 방법

입양 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 문제입니다. 이를 위해 동물보호소에 들어온 동물의 정보를 담은 테이블 ANIMAL_INS와 입양 보낸 동물의 정보를 담은 테이블 ANIMAL_OUTS를 ANIMAL_ID가 일치하는 것끼리 매치하여 JOIN합니다. 그리고 입양 간 기록은 있으나 들어온 기록이 없다는 것은 ANIMAL_OUTS에는 동물의 ID가 있으나, ANIMAL_INS에는 없다는 것을 말하므로 WHERE절에 ANIMAL_INS의 ANIMAL_ID 가 NULL인 것을 추출합니다. 다음으로 ID순으로 ORDER BY하여 정렬합니다. 이 때, SELECT절에서 나타나야 하는 동물의 ID와 이름 컬럼은 입양을 간 기록이 있는 ANIMAL_OUTS에서 추출해야 합니다.

 

 


문제 풀이

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

 


실행 결과

 

댓글