028 SQL RIGHT JOIN
The current webpage explains the SQL RIGHT JOIN keyword. Here’s a summary:
- Purpose: The
RIGHT JOINkeyword returns all records from the right table (often calledtable2), and the matching records from the left table (table1). If there is no match, the result is still displayed withNULLsfor columns from the left table. - Syntax:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;- Note: In some databases,
RIGHT JOINis also calledRIGHT OUTER JOIN.
- Note: In some databases,
- Example: The page provides an example using the Northwind database to retrieve all employees and any orders they might have placed. All records from the Employees table (right table) are shown, even if there's no corresponding order (left table).
- Key Point:
RIGHT JOINensures all records from the right table are present in the result—even those with no matches from the left table. - Quiz: The page includes a quick exercise to check your understanding of the concept.
This page is part of the broader W3Schools SQL tutorial series and includes navigation to related JOIN types and SQL concepts.[1]
SQL RIGHT JOIN Keyword
SQL RIGHT JOIN Keyword
The RIGHT JOIN keyword returns all records from the right table (table2), and the matching records from the left table (table1). The result is 0 records from the left side, if there is no match.
RIGHT JOIN Syntax
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
Note: In some databases RIGHT JOIN is called RIGHT OUTER JOIN.
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is 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 |
And a selection from the "Employees" table:
| EmployeeID | LastName | FirstName | BirthDate | Photo |
|---|---|---|---|---|
| 1 | Davolio | Nancy | 12/8/1968 | EmpID1.pic |
| 2 | Fuller | Andrew | 2/19/1952 | EmpID2.pic |
| 3 | Leverling | Janet | 8/30/1963 | EmpID3.pic |
SQL RIGHT JOIN Example
The following SQL statement will return all employees, and any orders they might have placed:
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Note: The RIGHT JOIN keyword returns all records from the right table (Employees), even if there are no matches in the left table (Orders).