Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

RIGHT JOIN - All Records from the Right Table, and Matched Records from the Left in SQL


The RIGHT JOIN (also known as RIGHT OUTER JOIN) is used in SQL to combine records from two tables. It returns all the rows from the right table, and the matching rows from the left table. If there is no match, NULL values are returned for columns from the left table. The RIGHT JOIN is the opposite of the LEFT JOIN, as it ensures all records from the right table are included in the result set.

1. Syntax of RIGHT JOIN

The basic syntax of the RIGHT JOIN is as follows:

      SELECT column1, column2, ...
      FROM table1
      RIGHT JOIN table2
      ON table1.column = table2.column;
    

In this syntax:

2. Example of RIGHT JOIN

Consider two tables: Employees and Departments. The Employees table contains employee details, and the Departments table contains department details. If you want to list all departments and their respective employees (if any), you can use a RIGHT JOIN:

      SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
      FROM Employees
      RIGHT JOIN Departments
      ON Employees.DepartmentID = Departments.DepartmentID;
    

This query returns all records from the Departments table. If a department has employees, their EmployeeID and Name will be displayed; if there are no employees in a department, NULL values will be shown for the employee details.

3. Example of RIGHT JOIN with No Match

If there are departments in the Departments table that do not have any employees, the RIGHT JOIN will still include them in the result set, with NULL values for the employee details. For example, if Department 1 has employees, but Department 2 has no employees:

      SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
      FROM Employees
      RIGHT JOIN Departments
      ON Employees.DepartmentID = Departments.DepartmentID;
    

The result might look like this:

      EmployeeID | Name        | DepartmentName
      ------------------------------------------
      101        | John Doe    | HR
      102        | Jane Smith  | HR
      NULL       | NULL        | IT
    

Here, the "HR" department has employees, so their EmployeeID and Name appear. However, the "IT" department has no employees, so NULL values appear for the employee details in the result.

4. RIGHT JOIN with Multiple Tables

You can also use RIGHT JOIN with multiple tables. For example, if you want to list all departments along with employees and their corresponding orders, you could join three tables:

      SELECT Departments.DepartmentName, Employees.Name, Orders.OrderID
      FROM Employees
      RIGHT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID
      RIGHT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
    

This query joins the Employees table with the Departments table, and then joins the Orders table. It returns a list of all departments, their employees (if any), and the orders placed by those employees. If a department or employee does not have any matching data, NULL values will appear for the missing details.

5. Using RIGHT JOIN with Conditions

You can also apply conditions to a RIGHT JOIN query using the WHERE clause. For example, if you want to find all departments with employees who have placed orders, you can filter the results by adding a condition to check that the OrderID is not NULL:

      SELECT Departments.DepartmentName, Employees.Name, Orders.OrderID
      FROM Employees
      RIGHT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID
      RIGHT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID
      WHERE Orders.OrderID IS NOT NULL;
    

This query will return only departments that have employees who have placed an order, excluding any NULL OrderID values.

6. RIGHT JOIN with Aliases

Using table aliases can simplify the query and make it more readable. Here's an example of using aliases with a RIGHT JOIN:

      SELECT d.DepartmentName, e.Name, o.OrderID
      FROM Employees AS e
      RIGHT JOIN Departments AS d
      ON e.DepartmentID = d.DepartmentID
      RIGHT JOIN Orders AS o
      ON e.EmployeeID = o.EmployeeID;
    

In this example, d is used as an alias for the Departments table, e for the Employees table, and o for the Orders table. The result will be the same as before but with more concise table names.

7. Key Points to Remember About RIGHT JOIN

8. Conclusion

The RIGHT JOIN is a helpful SQL operation that allows you to retrieve all records from the right table, along with any matching records from the left table. It ensures that no records from the right table are excluded, even if there is no corresponding data in the left table. Understanding how and when to use RIGHT JOIN can help you perform more complex queries and extract meaningful insights from your data.



Advertisement

Advertisement

Advertisement





Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java