Database
없어진 기록 찾기 - LEFT JOIN
리차드
2020. 11. 24. 01:49
문제
programmers.co.kr/learn/courses/30/lessons/59042
LEFT JOIN을 사용하는 문제로 이해했다.
LEFT JOIN은
FROM 절에 선언된 테이블의 값은 무조건 출력하고
LEFT JOIN 절에 선언된 테이블의 값은 있으면 출력하고 없으면 NULL로 출력된다.
아래 사진처럼 먼저 선언된 ANIMAL_OUTS 테이블의 다섯 컬럼이 좌측에 먼저 출력되고
LEFT JOIN 절에 선언된 ANIMAL_INS 테이블의 다섯 컬럼이 우측에 이어서 출력된다.
ON 절에 선언한 조건에 일치하는 값이 LEFT JOIN 절에 선언한 테이블에 없더라도 칸을 비워서 출력함으로써
아래 사진과 같이 두 테이블 값을 비교할 때 활용할 수 있다.
아래 사진에서 비어있는 행은 해당 ANIMAL_ID가
ANIMAL_OUTS 에는 존재하지만 ANIMAL_INS 에는 존재하지 않는다는 의미이다.
직접 그렸다 하하. - -... 암튼 코드.
1
2
3
4
5
6
7
8
|
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID
|
cs |