본문으로 바로가기

[Oracle] OUTER JOIN 정리 - LEFT, RIGHT, FULL

category 2. Database/2_1 Oracle 2020. 7. 20. 20:46

   

 

이번 글에서는 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이 합한 결과가 잘 나왔네요~