Palavra-chave SQL JOIN
❮ Referência de palavras-chave SQL
JUNÇÃO INTERNA
O INNER JOIN
comando retorna linhas que possuem valores correspondentes em ambas as tabelas.
O SQL a seguir seleciona todos os pedidos com informações do cliente:
Exemplo
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Nota: A palavra-chave INNER JOIN seleciona todas as linhas de ambas as tabelas, desde que haja uma correspondência entre as colunas. Se houver registros na tabela "Pedidos" que não tenham correspondências em "Clientes", esses pedidos não serão exibidos!
A seguinte instrução SQL seleciona todos os pedidos com informações do cliente e do remetente:
Exemplo
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
ASSOCIAÇÃO À ESQUERDA
O LEFT JOIN
comando retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. O resultado é NULL do lado direito, se não houver correspondência.
O SQL a seguir selecionará todos os clientes e quaisquer pedidos que eles possam ter:
Exemplo
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Observação: a palavra- LEFT JOIN
chave retorna todos os registros da tabela da esquerda (Clientes), mesmo que não haja correspondências na tabela da direita (Pedidos).
JUNÇÃO DIREITA
O RIGHT JOIN
comando retorna todas as linhas da tabela da direita e os registros correspondentes da tabela da esquerda. O resultado é NULL do lado esquerdo, quando não há correspondência.
O SQL a seguir retornará todos os funcionários e quaisquer pedidos que eles possam ter feito:
Exemplo
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Nota: A palavra- RIGHT JOIN
chave retorna todos os registros da tabela da direita (Employees), mesmo que não haja correspondências na tabela da esquerda (Pedidos).
JUNÇÃO EXTERNA COMPLETA
O FULL OUTER JOIN
comando retorna todas as linhas quando há uma correspondência na tabela esquerda ou na tabela direita.
A seguinte instrução SQL seleciona todos os clientes e todos os pedidos:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Observação: a palavra- FULL OUTER JOIN
chave retorna todas as linhas da tabela à esquerda (Clientes) e todas as linhas da tabela à direita (Pedidos). Se houver linhas em "Clientes" que não tenham correspondências em "Pedidos" ou se houver linhas em "Pedidos" que não tenham correspondências em "Clientes", essas linhas também serão listadas.
❮ Referência de palavras-chave SQL