The LEFT (OUTER) JOIN Clause


The LEFT (OUTER) JOIN clause returns all records from the left table (table1), and the matching records from the right table (table2). The result is 0 records from the right side, if there is no match.

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

Assume the two tables Customers and Orders are given as follows:

Customers
CustomerID CustomerName
1 Raj
2 Neha
3 John
4 Anuj
Orders
OrderID CustomerID OrderAmount
101 1 4500
102 2 1200
103 1 2200
104 3 800

The LEFT JOIN clause returns all records from the left table (Customers), even if there are no matches in the right table (Orders).

 SELECT c.CustomerName, o.OrderAmount
  FROM Customers c LEFT JOIN Orders o
  ON c.CustomerID = o.CustomerID;
CustomerName OrderAmount
Raj 4500
Raj 2200
Neha 1200
John 800
Anuj NULL



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.

SQL Statement:

Edit the SQL statement and click     to see the result, or  

Result:
The Database includes:
The Database includes:

TablenameRecord
Customers91
Categories8
Employees10
OrderDetails518
Orders196
Products77
Shippers3
Suppliers29





      I told my wife she should embrace her mistakes.    
      She gave me a hug.