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 |
+------+------------+-----------+----------------+---------+--------+