외부 조인의 유형으로는 왼쪽 조인(LEFT JOIN), 오른쪽 조인(RIGHT JOIN), 전체 조인(FULL JOIN) 세가지가 있다.

 

LEFT/RIGHT JOIN

왼쪽 조인과 오른쪽 조인은 어느 테이블이 왼쪽으로 올지 순서를 제외하고는 본질적으로는 같은 논리를 가지고있다.

위 예시에서는 Customers 테이블을 기준으로 Orders와 Refunds 테이블이 조인된 형태이다.

이 경우에는 Customers가 Primary, Orders와 Refunds가 Secondary 테이블이 된다. 

Secondary테이블을 Primary 테이블에 조인시킬 때, Secondary테이블의 행과 매치되는 행이 없어도 Primary테이블의 모든 행들이 출력된다. 내부 조인에서는 두 테이블 간 매치되는 행이 없는 경우에는 해당 행이 아예 출력되지 않았었다. 

 

위 예시는 Right Join을 사용한 예시이다.

Primary/Secondary관계가 반대로 된것 외에는 Left Join과 결과물이 완전히 같다.

떄문에 Left Join을 활용할 줄 안다면 Right Join은 사용하지 않아도 무방하다.

 

FULL JOIN

FULL JOIN(전체 조인)에서는 Left/Right Join과는 다르게 Primary가 존재하지 않고 양 테이블이 모두 Secondary이다. 

따라서 테이블_1과 테이블_2 사이에 서로 매칭되는 행이 없더라도 서로의 모든 행을 보여줘야 한다.

위 예시에서 확인할 수 있는것처럼 서로 매칭되는 행이 없더라도 해당 행이 출력된다.

'DB > 관계형 DB' 카테고리의 다른 글

서브쿼리(Subqueries)  (0) 2021.05.07
교차 조인(cross join)  (0) 2021.04.29
내부 조인(INNER JOIN)  (0) 2021.04.28
PIVOT(크로스탭)  (0) 2021.04.28
소계(ROLL UP / CUBE)  (0) 2021.04.23

+ Recent posts