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.
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:
SELECT a.company_name,b.company_name,a.company_city FROM company a, company b WHERE a.company_city=b.company_city;
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
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.
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.
Check out our 1000+ SQL Exercises with solution and explanation to improve your skills.
Previous: SQL FULL OUTER JOIN
Next: SQL SELF JOIN
SQL: Tips of the Day
Selecting unique values from a column:
Use the DISTINCT operator in MySQL:
SELECT DISTINCT(Date) AS Date FROM buy ORDER BY Date DESC;
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook