What Is a Self Join in SQL? What Is It Used for?

self join in sql

*This post may contain affiliate links. As an Amazon Associate we earn from qualifying purchases.

During your IT interview, you may be asked to talk about a self join in SQL. Let us tell you the main facts about self joins so that you know exactly what to include in your answers. Take a look!

What is Self Join in SQL?

A self join in SQL is essentially a join where a table is joined with itself. This is described as a Unary Relationship. The Foreign Key of the table will then reference its very own Primary Key. By joining a table with itself, each row of the table will be combined with itself as well as every row featured in the table.

What is the Self Join Used for?

The main use of a self join in SQL is determining the relationship between the variables included in the table. A classic example is using a table featuring a list of the employees of a company and their managers. By using the self join, it is very easy to determine the relationship between two people featured in the form. Since it?will essentially join a table with its copy, it is very easy to perform various queries about the variables in the form.


Writing a self join is exactly like writing a normal join between two tables, but the second table will be an alias of the initial one. To make sure you include everything here is a short list of the core features that must be included in a self join:

????????? Aliases

Aliases are a crucial part because you are looking to join a table with itself. Therefore, you will provide aliases for the copies of the table so that you can perform the various operations and queries you want.

????????? Predicate

The predicate describes the conditions that demand the self join. It is essential because it defines the specific requirements that demand joining the table with itself.

Self Join Example

We will provide a short example so that you can get a better idea of what writing a self join would look like. But let?s start with the table. We will follow the classic employee table example. Our table will be called Employees1. As for the aliases, we have chosen EMP1 and Emp.

Name Manager
Martin Cane Jay King
Liam Halloway Lucy Michaels
Jenny Grant Jay King
Ian Darlington Jay King
Leena Seers Lucy Michaels




WHERE EMP1.Manager = EMP2.Manager

The output will be a list of the employees who share the same manager. This way, the relationship between the employees and their managers can be easily determined.

We hope the information we have provided on self join in SQL has proven to be useful for your interview preparation. Good luck on your job meeting from the IT Interview Guide team!

Image Source:?Wikimedia

Recent Posts