Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

SQL FULL OUTER JOIN keyword (full external connection)


May 16, 2021 SQL


Table of contents


SQL FULL OUTER JOIN keyword


When the left (Table 1) or right (Table 2) table records match, the FULL OUTER JOIN keyword returns all records.

Note: F ULL OUTER JOIN may return a very large result set!

SQL FULL OUTER JOIN syntax

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

SQL FULL OUTER JOIN keyword (full external connection)


Demonstrate the database


In this tutorial, we'll use the famous Northwind sample database.

Here's the data from the Customers table:

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

Data selected from the Orders table:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 3 3 1996-09-19 1
10310 77 8 1996-09-20 2

SQL FULL OUTER JOIN instance


The following SQL statement selects all customers and all orders:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

The data selected from this set of results are as follows:

CustomerName OrderID
Alfreds Futterkiste
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería 10365
10382
10351

Note: T he FULL OUTER JOIN keyword returns all rows in the left table (Customers) and all rows in the right table (Orders). If there are no matches in Orders in the rows in Customers, or if there are no matches in The Orders, the rows are also listed.