w3resource
SQL Tutorial

SQL join a table to itself

Join a table to itself

A SELF JOIN is another type of join in SQL which is used to join a table to itself, especially when the table has a FOREIGN KEY which references its own PRIMARY KEY.

In this join, the participating table appears twice after the FROM clause and is followed by aliases for the tables that qualify column names in the join condition

In this join, those rows are returned from the table which are satisfying the conditions.

Example:

Sample table: company


To get 'company_name' and 'company_city' from 'company' table which is entitled as alias 'a' and 'company_name' form 'company' table which is entitled as alias 'b' after an SELF JOINING with a table itself, the following SQL statement can be used:

SQL Code:

SELECT a.company_name,b.company_name,a.company_city
FROM company a, company b
WHERE a.company_city=b.company_city;

Output:

COMPANY_NAME              COMPANY_NAME              COMPANY_CITY
------------------------- ------------------------- -------------
Order All                 Order All                 Boston
Foodies.                  Jack Hill Ltd             London
Jack Hill Ltd             Jack Hill Ltd             London
Akas Foods                Akas Foods                Delhi
Foodies.                  Foodies.                  London
Jack Hill Ltd             Foodies.                  London
sip-n-Bite.               sip-n-Bite.               New York

Explanation:

This is a note for the example:
'a' and 'b' are aliases for the table 'company'.
the a.company_city=b.company_city excludes all pairs containing companies of different cities.

See our Model Database

Here is a new document which is a collection of questions with short and simple answers, useful for learning SQL as well as for interviews.

Practice SQL Exercises

Want to improve the above article? Contribute your Notes/Comments/Examples through Disqus.

Previous: SQL FULL OUTER JOIN
Next: SQL SELF JOIN