이번 글에서는 OUTER JOIN에 대하여 알아보도록 하겠습니다.
INNER JOIN과는 반대로 조인 조건에서 동일한 값이 없는 행도 출력하기 때문에 OUTER JOIN으로 불립니다.
쉽게 말하면 A, B 테이블을 조인할 경우, 조건에 없는 데이터도 출력이 가능합니다.
OUTER JOIN 문법
SELECT *
FROM TABLE1 [LEFT | RIGHT | FULL] OUTER JOIN TABLE2;
문법만 봐서는 크게 어렵지 않죠?
하나하나씩 살펴보도록 하겠습니다.
LEFT OUTER JOIN
테이블1 LEFT OUTER JOIN 테이블2
그림을 보니까 이해가 되시나요?
조건이 맞지 않더라도 왼쪽(LEFT)의 A 테이블은 모두 출력되는 것입니다.
이해를 돕기위해 예제를 살펴보도록 할게요.
OUTER JOIN은 이미 설명했듯이 어느 한쪽 테이블에는 해당하는 데이터가 존재하는데 다른 쪽 테이블에는 데이터가 존재하지 않을 경우 그 데이터가 출력되지 않는 문제점을 해결하기 위해 사용하는 조인 방법입니다.
RIGHT OUTER JOIN
테이블1 RIGHT OUTER JOIN 테이블2
조건이 맞지 않더라도 오른쪽(RIGHT)의 B테이블은 모두 출력됩니다.
FULL OUTER JOIN
테이블1 FULL OUTER JOIN 테이블2
FULL OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN을 합한 형태라고 보시면 됩니다.
아래 예제를 살펴볼까요?
LEFT OUTER JOIN과 RIGHT OUTER JOIN이 합한 결과가 잘 나왔네요~
'2. Database > 2_1 Oracle' 카테고리의 다른 글
[Oracle] COALESCE() - NULL값을 치환하여 반환하는 함수 (0) | 2020.08.05 |
---|---|
[Oracle] Cartesian Product(카티션곱)이란? (0) | 2020.07.18 |
[Oracle] MAX(), MIN() - 최댓값과 최솟값을 구하는 방법 (0) | 2020.07.16 |
[Oracle] COUNT() - 행의 개수를 구하는 방법 (0) | 2020.07.15 |
[Oracle] CASE WHEN THEN 문 (0) | 2020.07.14 |