SQL RIGHT JOIN

RIGHT JOIN is used between two tables. RIGHT JOIN return all records from the right table and matches to left table, if the records do not match in the left table then shows NULL value.

RIGHT JOIN is also called RIGHT OUTER JOIN.

For SELECT Statement

Syntax:-


SELECT table_name1.column_name(s), table_name2.column_name(s)
FROM table_name1
RIGHT JOIN
table_name2
ON table_name1.column_name=table2.column_name

Example:- Suppose we have two table employees and emp_salary.

employees Table:- this table has employee’s details


+----+------------+-----------+----------------+-----------+
| id | first_name | last_name | email          | country   |
+----+------------+-----------+----------------+-----------+
|  1 | John       | Tailor    | john@abc.com   | USA       |
|  2 | Rom        | Tailor    | rom@abc.com    | USA       |
|  3 | Andrew     | Symonds   | andrew@abc.com | Australia |
|  4 | Miacle     | Tailor    | miacle@abc.com | Australia |
|  5 | Sachin     | Tendulkar | sachin@abc.com | India     |
|  6 | Virat      | Kohli     | virat@abc.com  | India     |
|  7 | rohit      | NULL      | rohit@abc.com  | India     |

emp_salary table:- this table has employee’s salary details


| id | emp_id | salary |
+----+--------+--------+
|  1 |      5 | 200000 |
|  2 |      6 | 180000 |
|  3 |      8 | 300000 |
|  4 |      9 | 400000 |
+----+--------+--------+

Find the employees which are getting salary

Query:-


SELECT employees.id,employees.first_name,employees.last_name,
employees.email,employees.country,emp_salary.salary 
FROM employees
RIGHT JOIN
emp_salary
On employees.id=emp_salary.emp_id

Output:-


+------+------------+-----------+----------------+---------+--------+
| id   | first_name | last_name | email          | country | salary |
+------+------------+-----------+----------------+---------+--------+
|    5 | Sachin     | Tendulkar | sachin@abc.com | India   | 200000 |
|    6 | Virat      | Kohli     | virat@abc.com  | India   | 180000 |
| NULL | NULL       | NULL      | NULL           | NULL    | 300000 |
| NULL | NULL       | NULL      | NULL           | NULL    | 400000 |
+------+------------+-----------+----------------+---------+--------+