The FULL (OUTER) JOIN Clause
The FULL (OUTER) JOIN clause returns all records when there is a match in left (table1) or right (table2) table records.
|
|
SELECT column_name(s)
FROM table1 FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
|
|
Below is a selection 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 |
Then, look at the selection from the
Orders table:
| 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 |
The
FULL OUTER JOIN clause returns all matching records from both tables whether the other table matches or not.
So, if there are rows in
Customers that do not have matches in
Orders, or if there are rows in
Orders that do not have matches in
Customers, those rows will be listed as well.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
|
and it will produce something like this:
| CustomerName |
OrderID |
|
10309 |
|
10310 |
| Alfreds Futterkiste |
|
| Ana Trujillo Emparedados y helados |
10308 |
| Antonio Moreno Taquería |
|
Demonstration
Below is an SQL test area from W3Schools, which uses the well-known Northwind sample database.
The tables here are for read only because of the problem of embedding the scripts.
For a fully working example, check this by using Chrome.
|
|
The Database includes:
| Tablename | Record |
| Customers | 91 |
| Categories | 8 |
| Employees | 10 |
| OrderDetails | 518 |
| Orders | 196 |
| Products | 77 |
| Shippers | 3 |
| Suppliers | 29 |
|
This SQL-Statement is not supported in the WebSQL Database.
The example still works, because it uses a modified version of SQL.
Your browser does not support WebSQL.
Your are now using a light-version of the Try-SQL Editor, with a read-only Database.
If you switch to a browser with WebSQL support, you can try any SQL statement, and play with the Database as much as you like. The Database can also be restored at any time.
Our Try-SQL Editor uses WebSQL to demonstrate SQL.
A Database-object is created in your browser, for testing purposes.
You can try any SQL statement, and play with the Database as much as you like. The Database can be restored at any time, simply by clicking the "Restore Database" button.
W3C WebSQL
WebSQL stores a Database locally, on the user’s computer. Each user gets their own Database object.
WebSQL Browser Support
WebSQL is supported in Chrome, Safari, and Opera.
If you use another browser you will still be able to use our Try SQL Editor, but a different version, using a server-based ASP application, with a read-only Access Database, where users are not allowed to make any changes to the data.