SQL FULL OUTER JOIN

The SQL FULL OUTER JOIN joins two tables based on a common column, and selects records that have matching values in these columns and remaining rows from both of the tables.

 

Syntax:

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

 

Customers table:

customer_id fullname
1 Kailash
2 Amit
3 Siddarth
4 Vikas

Orders table:

order_id amount customer
1 2000 2
2 3000 4
3 3500 5
4 2500 7

 

Here, the SQL command selects customer_id and fullname columns (from the Customers table) and the amount column (from the Orders table).

QUERY:

SELECT Customers.customer_id, Customers.fullname, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;

 

And, the result set will contain those rows where there is a match between customer_id (of the Customers table) and customer (of the Orders table) along with all the remaining rows from both of the tables.

 

Result:

customer_id fullname amount
2 Amit 2000
4 Vikas 3000
    3500
    2500
1 Kailash  
3 Siddarth