SQL junta são usados para combinar as linhas de duas ou mais tabelas.
SQL JOIN
Uma cláusula SQL JOIN é usado para combinar as linhas de duas ou mais tabelas, com base em um campo comum entre eles.
O tipo mais comum de se juntar é: SQL INNER JOIN (junção simples). Um INNER SQL JOIN retorna todas as linhas de várias tabelas onde a condição de junção for atendida.
Vamos olhar para uma seleção do "Orders" tabela:
OrderID | Identificação do Cliente | Data do pedido |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Então, ter um olhar para uma seleção do "Customers" da tabela:
Identificação do Cliente | Nome do cliente | Nome de contato | País |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mexico |
Observe que o "CustomerID" coluna no "Orders" da tabela refere-se ao "CustomerID" no "Customers" da tabela. A relação entre os dois quadros acima é o "CustomerID" coluna.
Então, se execute a seguinte instrução SQL (que contém uma junção interna):
Exemplo
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM
Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
Tente você mesmo " que irá produzir algo como isto:
OrderID | Nome do cliente | Data do pedido |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taqueria | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbkop | 8/12/1996 |
SQL diferente JOINs
Antes de continuarmos com exemplos, vamos listar os tipos das diferentes uniões SQL você pode usar:
- INNER JOIN : Retorna todas as linhas quando há pelo menos um jogo em ambas as tabelas
- LEFT JOIN : retornar todas as linhas da tabela à esquerda, e os registros correspondentes da tabela direita
- RIGHT JOIN : Return todas as linhas da tabela à direita, e os registros correspondentes da tabela da esquerda
- FULL JOIN : retornar todas as linhas quando há uma partida em uma das mesas