- 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.
|