In this tutorial, we will learn how to use JOIN
clause and join two or more table using SQL.
JOIN
Clause is used to Join two to more tables. It creates a set of rows in a temporary table.JOIN
Clause works on two or more tables but atleast they have one common column field and have a relation between them.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 | 1 | 2 |
7 | Akshay | Mumbai | India | male | 21000 | 2 | 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 EMP.EmpName,Dept.DepartmentName,Desg.DesignationName
FROM Employee EMP
INNER JOIN Department Dept ON EMP.DeptId=Dept.DeptID
INNER JOIN Designation Desg ON EMP.DesignationId=Desg.DesigID
EmpName | DeptartmentName | DesignationName |
Shankar | IT | Executive |
Sourabh | IT | CEO |
Ranvijay | Finance | Manager |
Kapil | HR | Developer |
Shalini | Finance | Team Leader |
Rakesh | IT | Manager |
Akshay | Finance | Developer |
Sarah | HR | GM |
Rocky | HR | Executive |
SQL have Different types of Join as Follow:-
FOREIGN KEY
that references its own PRIMARY KEY
.