- Um Self JOIN ocorre quando uma tabela é associada a si mesma.
- Isso pode ser útil ao modelar hierarquias.
- Self JOINs também são úteis para comparações dentro de uma tabela.
Exemplo
Combine fornecedores do mesmo país.
SELECT A.CompanyName AS Company1
, B.CompanyName AS Company2
, A.Country
FROM Supplier A
, Supplier B
WHERE A.Id <> B.Id
AND A.Country = B.Country
ORDER BY A.Country
|
Nota: A e B são pseudônimos de tabela para a mesma tabela de fornecedores.
Company1 e Company2 são aliases de coluna.
Sintaxe Self JOIN
SELECT column-names
FROM table-name T1
JOIN table-name T2
WHERE condition
|
Nota: T1 e T2 são pseudônimos de tabela diferentes para a mesma tabela.
Self JOIN
Corresponda a clientes que são da mesma cidade e país.
SELECT B.FirstName AS FirstName1
, B.LastName AS LastName1
, A.FirstName AS FirstName2
, A.LastName AS LastName2
, B.City
, B.Country
FROM Customer A
, Customer B
WHERE A.Id <> B.Id
AND A.City = B.City
AND A.Country = B.Country
ORDER BY A.Country
|
Nota: A e B são pseudônimos de tabela para a mesma tabela de cliente.
|