DB2 - Exemplos simples - JOIN Tabelas Múltiplas



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

DB2 - Exemplos simples - JOIN Tabelas Múltiplas
  • Um SQL JOIN pode ser aplicado a várias tabelas.
  • Para cada nova tabela, uma condição JOIN extra é adicionada.
  • Os JOINs de várias tabelas funcionam com consultas SELECT, UPDATE e DELETE.

Exemplo

Liste todos os produtos que foram vendidos com seus fornecedores e números de pedido.

    SELECT CompanyName
    ,      ProductName
    ,      OrderNumber
      FROM Product
      JOIN Supplier  ON Supplier.Id = Product.SupplierId
      JOIN OrderItem ON Product.Id  = OrderItem.ProductId
      JOIN Order     ON  Order.Id   = OrderItem.OrderId

Sintaxe JOIN de várias tabelas.

    SELECT column-names
      FROM table-name1 
      JOIN table-name2 ON column-name1 = column-name2
      JOIN table-name3 ON column-name3 = column-name4
      JOIN table-name4 ON column-name5 = column-name6
      ...
     WHERE condition

Sintaxe INNER JOIN de várias tabelas.

    SELECT column-names
      FROM table-name1 
     INNER JOIN table-name2 ON column-name1 = column-name2
     INNER JOIN table-name3 ON column-name3 = column-name4
     INNER JOIN table-name4 ON column-name5 = column-name6
     ...
     WHERE condition

A palavra-chave INNER é o padrão e é opcional.

SQL JOIN com várias tabelas

    SELECT O.OrderNumber
    ,      S.CompanyName AS Supplier
    ,      P.ProductName
    ,      I.Quantity
    ,      I.UnitPrice
      FROM Order O 
      JOIN OrderItem I ON O.Id = I.OrderId 
      JOIN Product   P ON P.Id = I.ProductId
      JOIN Supplier  S ON S.Id = P.SupplierId
     ORDER BY O.OrderNumber

Esta consulta realiza 2 operações JOIN com 3 tabelas.
O O, I, P e S são pseudônimos de tabela.



Res