27.SQL FULL OUTER JOIN
FULL OUTER JOIN 키워드는 왼쪽 또는 오른쪽 테이블 레코드에 일치하는 항목이 있을 경우 모든 레코드를 반환합니다.
팁 : FULL OUTER JOIN 와 FULL JOIN 은 같습니다.
FULL OUTER JOIN 구문
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
참고 : FULL OUTER JOIN 은 매우 큰 결과 집할을 반환할 가능성이 있습니다.
데모 데이터베이스
이 튜토리얼에서는 잘 알려진 Northwind 샘플 데이터베이스를 사용할 것입니다.
Employee 테이블
CustomerID CustomerName ContactName Address City PostalCode Country
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Order 주문 테이블
OrderID CustomerID EmployeeID OrderDate ShipperID
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
SQL FULL OUTER JOIN 예제
다음 SQL 문은 모든 고객과 모든 주문을 선택합니다.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
결과는 다음과 같습니다
CustomerName OrderID
Null | 10309 |
Null | 10310 |
Alfreds Futterkiste | Null |
Ana Trujillo Emparedados y helados | 10308 |
Antonio Moreno Taquería | Null |
참고 :키워드 FULL OUTER JOIN 은 다른 테이블이 일치하든 그렇지 않든 두 테이블에서 일치하는 모든 레코드를 반환합니다. 따라서 Customers 와 Orders에 일치하는 항목이 업슨ㄴ 행이 있거나 "Orders"에 Cusotmers에 일치하는 항목이 없는 행이 있는 경우 해당 행도 나열됩니다.
'SQL > SQL Tutorial' 카테고리의 다른 글
29.SQL UNION (1) | 2024.07.24 |
---|---|
28.SQL SELF JOIN (0) | 2024.07.18 |
26.SQL RIGHT JOIN (0) | 2024.07.16 |
25.SQL LEFT JOIN (0) | 2024.07.12 |
24.SQL INNER JOIN (0) | 2024.07.11 |