dev/db

[SQL] 없어진 기록 찾기

캄춰 2023. 10. 16. 14:42
728x90
반응형

Programmers / MySQL / Lv.3

 

SELECT O.ANIMAL_ID AS ANIMAL_ID, O.NAME AS NAME
FROM ANIMAL_INS AS I
RIGHT OUTER JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID ASC;

 

[해석]

SELECT O.ANIMAL_ID AS ANIMAL_ID, O.NAME AS NAME

: 입양을 간 기록은 있지만, 보호소에 들어온 기록이 없다는 것은 'ANIMAL_OUTS'의 동물 데이터를 조회


FROM ANIMAL_INS AS I
RIGHT OUTER JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID

: 입양 간 동물 테이블을 중심으로 OUTER 조인을 해주면 입양을 간 모든 동물들의 데이터 확인이 가능


WHERE I.ANIMAL_ID IS NULL

: 입양은 간 테이블이지만 그 중에 입양 된 동물이 아닌 동물의 데이터를 조회


ORDER BY O.ANIMAL_ID ASC;

 

 

※ 말이 조금 어렵고 헷갈릴 수 있으나 머릿 속으로 테이블에 원을 그리며 데이터를 빼내면 아주 쉬운 문제

 

 

 

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59042

728x90
반응형