DB2 - Exemplos simples - Self JOIN



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 - Exemplos simples - Self JOIN
  • 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.