In this tutorial, we will learn how to use RIGHT JOIN
or RIGHT OUTER JOIN
keyword and join two or more tables using SQL.
SQL RIGHT JOIN
keyword returns all the records from the right table and returns matched records from the left table. If The result is NULL
from the left side table if there is no match found.
SQL RIGHT JOIN
or RIGHT OUTER JOIN
both are the same.
SELECT column1, column2,...columnN
FROM tableName1
RIGHT JOIN tableName2 ON tableName1.column1 = tableName2.column1;
Let us consider three tables "Employee", "Department" and "Designation" for records
Table Name: Employee
ID | EmpName | City | Country | Gender | Salary | DeptID | DesigID |
1 | Shankar | Delhi | India | male | 25000 | 1 | 6 |
2 | Sourabh | Delhi | India | male | 30000 | 1 | 2 |
3 | Ranvijay | Mumbai | India | male | 15000 | 2 | 3 |
4 | Kapil | Noida | India | male | 25000 | 3 | 4 |
5 | Shalini | Jaipur | India | female | 18000 | 2 | 5 |
6 | Rakesh | Faridabad | India | male | 23000 | NULL | 2 |
7 | Akshay | Mumbai | India | male | 21000 | NULL | 4 |
8 | Sarah | New York | US | female | 76000 | 3 | 1 |
9 | Rocky | Noida | India | male | 28000 | 3 | 6 |
Table: Department
DeptID | DepartmentName |
1 | IT |
2 | Finance |
3 | HR |
Table: Designation
DesigID | DesignationName |
1 | GM |
2 | Manager |
3 | CEO |
4 | Developer |
5 | Team Leader |
6 | Executive |
For selecting an employee name, department name and designation name, a query will be:
SELECT Dept.DepartmentName,Desg.DesignationName ,EMP.EmpName
FROM Department Dept
RIGHT JOIN Employee EMP ON DEPT.DeptId=EMP.DeptID
EmpName | DeptartmentName | DesignationName |
1 | IT | Shankar |
2 | IT | Sourabh |
3 | Finance | Ranvijay |
4 | HR | Kapil |
5 | Finance | Shalini |
6 | NULL | Rakesh |
7 | NULL | Akshay |
8 | HR | Sarah |
9 | HR | Rocky |