[코딩테스트] 46. 없어진 기록 찾기

윤설안's avatar
May 21, 2025
[코딩테스트] 46. 없어진 기록 찾기

테이블 index

📌

ANIMAL_INS 

NAME
TYPE
NULLABLE
ANIMAL_ID
VARCHAR(N)
FALSE
ANIMAL_TYPE
VARCHAR(N)
FALSE
DATETIME
DATETIME
FALSE
INTAKE_CONDITION
VARCHAR(N)
FALSE
NAME
VARCHAR(N)
TRUE
SEX_UPON_INTAKE
VARCHAR(N)
FALSE

ANIMAL_OUTS

NAME
TYPE
NULLABLE
ANIMAL_ID
VARCHAR(N)
FALSE
ANIMAL_TYPE
VARCHAR(N)
FALSE
DATETIME
DATETIME
FALSE
NAME
VARCHAR(N)
TRUE
SEX_UPON_OUTCOME
VARCHAR(N)
FALSE

문제

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

예시

notion image

풀이

❗
소실된 데이터를 찾기 위해서는 OUTS에는 있고, INS에는 없는 데이터를 찾아야 한다. 그렇기 때문에 Inner Join을 사용하게 조건에 일치하는 데이터만 가져오기 때문에 outer join을 사용해야한다.
SELECT * from ANIMAL_INS a right outer JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
join을 하고, where절에서 INS의 데이터가 null 인 경우만 출력하면 된다.
SELECT b.ANIMAL_ID, b.NAME from ANIMAL_INS a right outer JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID where a.animal_id is null
notion image
notion image
 
Share article