Share
MySQL Right Join
The RIGHT JOIN keyword returns all the rows from the right table (table_name2), even if there are no matches in the left table (table_name1).
MySQL RIGHT JOIN Syntax
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
MySQL RIGHT JOIN Example
The "Persons" table:
| P_Id | FirstName | LastName | Address | City |
| 1 | PutuSanjaya | Jl. Sudirman 20 | Denpasar |
| 2 | MadeSanjaya | Jl. Teuku Umar 22 | Denpasar |
| 3 | NyomanSanjaya | Jl. Imam Bonjol 11 | Denpasar |
The "Orders" table:
| O_Id | OrderNo | P_Id | >
| 1 | 23238 | 3 |
| 2 | 79382 | 3 |
| 3 | 48592 | 1 |
| 4 | 45645 | 2 |
| 5 | 38458 | 4 |
Now we want to list all the orders with containing persons - if any, from the tables above. We use the following SELECT statement:
SELECT Persons.FirstName, Persons.LastName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
The result-set will look like this:
| FirstName | LastName | OrderNo |
| Nyoman | Sanjaya | 23238 |
| Nyoman | Sanjaya | 23238 |
| Putu | Sanjaya | 48592 |
| Made | Sanjaya | 45645 |
| | 38458 |
The RIGHT JOIN keyword returns all the rows from the right table (Orders), even if there are no matches in the left table (Persons).
More Tutorial
- MYSQL - MySQL Right Join