외부 조인의 유형으로는 왼쪽 조인(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 |