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

SQL RIGHT JOIN – Interview Questions

Q 1: What is RIGHT JOIN?

Ans: Returns all records from right table.

Q 2: What happens to unmatched rows?

Ans: NULL values appear.

Q 3: Is RIGHT JOIN same as RIGHT OUTER JOIN?

Ans: Yes.

Q 4: Can RIGHT JOIN be avoided?

Ans: Yes, using LEFT JOIN by swapping tables.

Q 5: Is RIGHT JOIN supported everywhere?

Ans: Not in all databases.

SQL RIGHT JOIN – Objective Questions (MCQs)

Q1. What does a RIGHT JOIN return?






Q2. If there is no matching row in the left table, RIGHT JOIN returns:






Q3. Which table is fully preserved in a RIGHT JOIN?






Q4. RIGHT JOIN is also known as:






Q5. RIGHT JOIN is rarely used because it can be replaced by:






Related SQL RIGHT JOIN Topics