Right Join

In SQL, a RIGHT JOIN is a type of join operation used to combine data from two tables based on a common column, but it returns all the rows from the right table and matching rows from the left table. This means that even if there are no matching rows in the left table, the rows from the right table will still be returned.

Syntax

The syntax for a RIGHT JOIN is as follows:

SELECT *
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

In this syntax, table1 is the left table, and table2 is the right table. The ON keyword is used to specify the column or columns that the tables will be joined on.

The result of a RIGHT JOIN will include all the rows from the right table and any matching rows from the left table. If there are no matching rows in the left table, the result will still include the row from the right table, but the columns from the left table will be NULL.

Example

Let’s take a look at an example to better understand how a RIGHT JOIN works. Consider the following two tables:

Table1: Employees

ID  Name    Department
1   John    HR
2   Sarah   IT
3   Mark    Sales
4   Jane    Marketing

Table2: Departments

ID  Department
1   HR
2   IT
3   Sales

If we wanted to combine the two tables based on the Department column, we could use a RIGHT JOIN as follows:

SELECT *
FROM Employees
RIGHT JOIN Departments
ON Employees.Department = Departments.Department;

The result of this query would be:

ID  Name    Department  ID  Department
1   John    HR          1   HR
2   Sarah   IT          2   IT
3   Mark    Sales       3   Sales
4   Jane    Marketing   NULL    NULL

In this result, we can see that all the rows from the right table (Departments) were returned, and matching rows from the left table (Employees) were also returned. However, since there was no match for the Marketing department in the Departments table, the corresponding row in the result has NULL values for the columns from the Departments table.

In conclusion, a RIGHT JOIN is a useful tool for combining data from two tables based on a common column while ensuring that all rows from the right table are included in the result, regardless of whether or not there is a matching row in the left table.