Palavra- chave MySQL INNER JOIN
Palavra-chave MySQL INNER JOIN
A palavra- INNER JOIN
chave seleciona registros que possuem valores correspondentes em ambas as tabelas.
Sintaxe INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Banco de dados de demonstração
Neste tutorial, usaremos o conhecido banco de dados de exemplo Northwind.
Abaixo está uma seleção da tabela "Pedidos":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
E uma seleção da tabela "Clientes":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Exemplo MySQL INNER JOIN
A seguinte instrução SQL 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- INNER JOIN
chave 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!
JUNTE-SE A Três Mesas
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);