SQL 문제

문제 51. 없어진 기록 찾기(난이도 7)(RIGHT JOIN)

kagan-draca 2024. 7. 26. 14:34

 

문제를 보고 INNER JOIN을 사용 했었는데 아무 결과도 출력되지 않아 애먹었다.

다른 사람의 코드를 보니깐, INNER JOIN이 아니라

RIGHT JOIN을 사용해야 했다.

 

RIGHT JOIN을 사용하는 근거로는

ANIMAL_INS 테이블에 ANIMAL_ID는 유실됐지만,

ANIMAL_OUTS 테이블에 ANIML_ID는 존재하는

상황이기 때문이었다.

A : ANIMAL_INS, B : ANIMAL_OUTS

 

RIGHT JOIN 이후, WHERE에서 A.ANIMAL_ID IS NULL

SELECT B.ANIMAL_ID, B.NAME으로

ANIMAL_INS에는 ID가 없는

ANUMAL_OUTS의 ID와 이름을 출력하는 방식이었다.

 

제출한 코드 :

 

SELECT B.ANIMAL_ID, B.NAME
FROM ANIMAL_INS AS A RIGHT JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID ASC, A.NAME ASC