FULL OUTER JOIN 키워드는 왼쪽(테이블1) 또는 오른쪽(테이블2) 테이블 레코드에 일치하는 항목이 있을 때 모든 레코드를 반환한다. 일치하는 항목이 없을 경우 null 값으로 채워진다.
FULL OUTER JOIN과 FULL JOIN은 같다.
FULL OUTER JOIN Syntax
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

주의 ! FULL OUTER JOIN은 잠재적으로 굉장히 큰 result-sets을 반환할 수 있다.
예시 테이블 > Customers

예시 테이블 > Orders

위와 같은 테이블이 있을 때 아래 SQL문을 쳐보자.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
결과 테이블은 아래와 같다.

주의 : FULL OUTER JOIN 키워드는 양쪽 테이블의 모든 데이터를 조회한다. (다른 쪽 테이블에 일치하는 데이터가 있든 없든 상관없이) 그렇기 때문에, "Orders"에 없고 "Customers"에만 있든가, "Customers"에는 없고 "Orders"에만 있는 데이터일지라도, 해당 row들 또한 모두 리스트업 된다.
(해당 글은 w3school 자료를 참고해 작성했음.)
'Work' 카테고리의 다른 글
| [Computer Science] cmd로 네트워크 드라이브 연결하기 (2) | 2022.01.13 |
|---|---|
| [Database] SQL Data types for MySQL, SQL Server, Oracle (0) | 2022.01.11 |
| [Database] LEFT JOIN (0) | 2022.01.11 |
| [Visual Studio] 단축키 정리 (0) | 2022.01.11 |
| [Database] INNER JOIN (0) | 2022.01.10 |