Inner Join in MySQL

In this Article, I will let you know about Inner Join in MySQL.
Inner Join :-
Inner Join also known as Equi Join, Normal Join, it shows the only the result of two or more tables as condition satisfied.
Let’s say we have two tables EMPLOYEE and DEPARTMENT
Below is the data in both the tables.
mysql> SELECT * FROM EMPLOYEE ;
+------+------+-------------+--------+-----------+--------------------+---------+
| id   | EID  | EMP_NAME    | DEP_ID | Phone     | Email              | City    |
+------+------+-------------+--------+-----------+--------------------+---------+
|    1 | CS01 | RAM         | D01    | 96465646  | abcd1@gmail.com    | Delhi   |
|    2 | CS02 | Mohan       | D02    | 96423246  | abc1d@gmail.com    | Gurgaon |
|    3 | CS03 | Mohi        | D01    | 96464546  | a1bcd@gmail.com    | Noida   |
|    4 | CS04 | Mohit       | D02    | 9611116   | cd@gmail.com       | Delhi   |
|    5 | CS05 | Sanjay      | NULL   | 92222246  | a@gmail.com        | Gurgaon |
|    6 | CS06 | RAJ         | D02    | 963333    | xqwe@gmail.com     | Noida   |
|    7 | CS07 | InderJeet   | D01    | 94444446  | 43abcd@gmail.com   | Gurgaon |
|    8 | CS08 | Rohit sethy | D03    | 66665646  | 565abcd@gmail.com  | Delhi   |
|    9 | CS09 | Arindam     | NULL   | 98888846  | abcd343@gmail.com  | Delhi   |
|   10 | CS10 | Vijay       | D01    | 6677746   | ab3333cd@gmail.com | Delhi   |
|   11 | CS11 | Prashant    | NULL   | 9666666   | abcd232@gmail.com  | Noida   |
|   12 | CS12 | Vikram      | D01    | 98888886  | ab2c3d5@gmail.com  | Delhi   |
|   13 | CS13 | Prateek     | D03    | 923232326 | ab2cd55@gmail.com  | Noida   |
+------+------+-------------+--------+-----------+--------------------+---------+
13 rows in set (0.00 sec)
mysql> SELECT * FROM DEPARTMENT ;
+------+--------+----------+
| id   | Dep_id | dep_name |
+------+--------+----------+
|    1 | D01    | Finance  |
|    2 | D02    | IT       |
|    3 | D03    | HR       |
|    4 | D04    | INFRA    |
+------+--------+----------+
4 rows in set (0.00 sec)
As per definition, Inner Join will print only those records which match the condition.
mysql> SELECT E.EID, E.EMP_NAME, D.DEP_NAME FROM EMPLOYEE E INNER JOIN DEPARTMENT D ON E.DEP_ID = D.DEP_ID ; 
+------+-------------+----------+
| EID  | EMP_name    | dep_name |
+------+-------------+----------+
| CS01 | RAM         | Finance  |
| CS02 | Mohan       | IT       |
| CS03 | Mohi        | Finance  |
| CS04 | Mohit       | IT       |
| CS06 | RAJ         | IT       |
| CS07 | InderJeet   | Finance  |
| CS08 | Rohit sethy | HR       |
| CS10 | Vijay       | Finance  |
| CS12 | Vikram      | Finance  |
| CS13 | Prateek     | HR       |
+------+-------------+----------+
10 rows in set (0.02 sec)
As we can see in above result, it shows the only result which match the condition. It doesn’t print the record where DEP_ID is NULL in Employee table i.e. DEP_ID does not matched.

No comments:

Post a Comment