TOP

Junções SQL

SQL JOIN

A expressão JOIN é usada para unir linhas de duas ou mais tabelas com base em uma coluna relacionada entre elas.


Vejamos um exemplo da tabela "Orders" ("Pedidos"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

Em seguida, observe o exemplo da tabela "Customers" ("Clientes"):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

Observe que a coluna "CustomerID" na tabela "Orders" refere-se a "CustomerID" na tabela "Customers". O relacionamento entre as duas tabelas acima é a coluna "CustomerID".

Podemos então criar a seguinte instrução SQL (contendo INNER JOIN) que seleciona registros que possuem valores correspondentes em ambas as tabelas:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID

e isso produzirá algo assim:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10355Around the Horn1996-11-15
10383Around the Horn1996-12-16
10289B's Beverages1996-08-26

Diferentes tipos de SQL JOIN

Aqui estão os diferentes tipos de JOIN em SQL:

  • (INNER) JOIN: Retorna registros que possuem valores correspondentes em ambas as tabelas
  • LEFT (OUTER) JOIN: Retorna todos os registros da tabela esquerda e os registros correspondentes da tabela direita
  • RIGHT (OUTER) JOIN: Retorna todos os registros da tabela direita e registros correspondentes da tabela esquerda
  • FULL (OUTER) JOIN: Retorna todos os registros se houver uma correspondência na tabela esquerda ou direita


  • SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN