Free Lines Arrow
본문 바로가기
Algorithm/프로그래머스 SQL

[프로그래머스] 없어진 기록 찾기

by skahn1215 2021. 9. 28.
728x90
반응형

문제

 

분석

A(AINMAL_INS) 이고 B(ANIMAL_OUTS) 일때

단순하게 A 테이블에는 없는데 B 테이블에 있는 데이터를 조회 하는 것이다.

 

LEFT OUTER JOIN 을 써야 된다.

이유는 LEFT JOIN 을 쓰면 매칭되는 데이터만 나오기 때문에 없는걸 구할수가 없다.

 

LEFT OUTER JOIN을 쓰게 되면 매칭이 안되는것도 나오기 때문에 조건을 걸어서 원하는 데이터를 뽑으면된다.

 

아래 그림에서 ANIMAL_INS 의 데이터가 NULL 인걸 뽑으면 된다.

 

 

구현

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  OUTS.ANIMAL_ID
728x90
반응형

댓글