Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

SQL self-connection Self JOIN


May 16, 2021 SQL


Table of contents


SQL self-connection


A self-join is a regular join, but the table itself is connected.

Self JOIN syntax

SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;

Demonstrate the database


In this tutorial, we'll use the famous Northwind sample database.

Here are the selections in the Customers table:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

SQL Self JOIN example


The following SQL statements match customers from the same city:

Code example

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City 
ORDER BY A.City;