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
반응형