SQL INNER JOIN Keyword
O INNER JOIN chave seleciona todas as linhas de ambas as tabelas, desde que haja uma correspondência entre as colunas em ambas as tabelas.
SQL sintaxe INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name ;
ou:
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name = table2.column_name ;
PS! INNER JOIN é o mesmo que JOIN.
Banco de Dados de demonstração
Neste tutorial, vamos utilizar a base de dados conhecida exemplo Adamastor.
Abaixo está uma seleção do "Customers" da tabela:
Identificação do Cliente | Nome do cliente | Nome de contato | Endereço | Cidade | Código postal | País |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
E uma seleção do "Orders" tabela:
OrderID | Identificação do Cliente | ID do Empregado | Data do pedido | CódigoDoTransitário |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
SQL INNER JOIN Exemplo
A seguinte instrução SQL retornará todos os clientes com ordens:
Exemplo
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER
JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY
Customers.CustomerName;
Tente você mesmo " 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 linhas na "Customers" tabela que não tem partidas em "Orders" , esses clientes não serão listados.