027 SQL LEFT JOIN
Summary of the "SQL LEFT JOIN Keyword" page on W3Schools:
-
Purpose: The SQL
LEFT JOINkeyword is used to return all records from the left table (table1), and the matched records from the right table (table2). If there are no matches in the right table, the result will contain NULL values for those columns. -
Syntax:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;In some databases,
LEFT JOINcan also be calledLEFT OUTER JOIN. -
Example: Using the Northwind sample database:
- The statement below lists all customers, and any orders they may have (customers with no orders will still appear, but with NULL for order columns):
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName; -
Key Point:
LEFT JOINensures every row from the left table appears in the results, even when there is no matching row in the right table. -
Practice Exercise: The page offers a multiple-choice question to test understanding of the
LEFT JOINbehavior.
This page is designed as a beginner-friendly tutorial with interactive and example features, ideal for quickly grasping the basics and syntax of SQL LEFT JOINs.
SQL LEFT JOIN Keyword
SQL LEFT JOIN Keyword
The LEFT JOIN keyword 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.
LEFT JOIN Syntax
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
Note: In some databases LEFT JOIN is called LEFT OUTER JOIN.
Demo Database
In this tutorial we will use the well-known Northwind sample database.
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 |
And a 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 |
SQL LEFT JOIN Example
The following SQL statement will select all customers, and any orders they might have:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Note: The LEFT JOIN keyword returns all records from the left table (Customers), even if there are no matches in the right table (Orders).