The RIGHT JOIN keyword retrieves all records from the right table (table2) and any matching records from the left table (table1). If there’s no match, the result includes 0 records from the left side.
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; |
Note: In certain databases, RIGHT JOIN is referred to as RIGHT OUTER JOIN.
In this tutorial, we’ll be working with the popular Northwind sample database.
Here’s a snippet 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 |
Also included is a portion of 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 |
This SQL statement retrieves all employees along with any orders they may have placed.
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID; |
Keep in mind: The RIGHT JOIN keyword retrieves all records from the right table (Employees), regardless of whether there are corresponding matches in the left table (Orders).