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
반응형
'dev > db' 카테고리의 다른 글
[SQL] 기초 명령어 정리 (0) | 2023.11.20 |
---|---|
[SQL] 조건에 맞는 사용자 정보 조회하기 (0) | 2023.10.18 |
[DB] h2 database 실행 방법 (0) | 2023.10.13 |
[SQL] 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2023.10.12 |
[SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.10.12 |