• Home
  • SQL Self Join

    In SQL, a self join is used to join a table with itself. It allows you to establish a relationship between different rows within the same table. This can be useful when you want to compare or retrieve related information from different rows in the table. The syntax for a self join is as follows:

    sql
    SELECT t1.column, t2.column
    FROM table AS t1
    JOIN table AS t2 ON t1.column = t2.column;

    In this syntax:

    - `table` is the name of the table you want to join with itself.
    - `t1` and `t2` are aliases given to the table, allowing you to distinguish between the two instances of the same table.
    - `column` is the common column between the two instances of the table that you want to use for the join condition.


    Here's an example that demonstrates a self join:

    Let's say we have a table called `employees` that contains information about employees, including their names and the names of their managers. We want to retrieve the names of employees and their corresponding manager names.

    sql
    SELECT e.employee_name, m.employee_name AS manager_name
    FROM employees AS e
    JOIN employees AS m ON e.manager_id = m.employee_id;

    In this query, we are performing a self join on the `employees` table using the `manager_id` column. We use aliases `e` and `m` to distinguish between the employee and manager instances of the table. By matching the `manager_id` of an employee with the `employee_id` of a manager, we can retrieve the names of both the employee and their manager in the result set.


    Self joins can be useful when you need to compare data within the same table, such as comparing records with related information or retrieving hierarchical data. They allow you to establish relationships and retrieve information based on those relationships within a single table.


    About the Author



    Silan Software is one of the India's leading provider of offline & online training for Java, Python, AI (Machine Learning, Deep Learning), Data Science, Software Development & many more emerging Technologies.

    We provide Academic Training || Industrial Training || Corporate Training || Internship || Java || Python || AI using Python || Data Science etc





     PreviousNext