Summary: in this tutorial, you will learn about the SQL Server LEFT JOIN
clause and how to use it to query data from multiple tables.
Introdução ao SQL Server LEFT JOIN clause
The LEFT JOIN
clause allows you to query data from multiple tables. Devolve todas as linhas da mesa esquerda e as linhas correspondentes da mesa direita. Se não forem encontradas linhas correspondentes na tabela à direita, são usadas NULL
.,
A seguir ilustra como unir duas tabelas T1 e T2 usando o LEFT JOIN
cláusula:
Code language: SQL (Structured Query Language) (sql)
nesta sintaxe, T1 e T2 são as tabelas de esquerda e direita, respectivamente.
para cada linha da tabela T1, a consulta A compara com todas as linhas da tabela T2. Se um par de linhas faz com que o predicado de junção avalie para TRUE
, os valores da coluna destas linhas serão combinados para formar uma nova linha que então será incluída no conjunto de resultados.,
Se uma linha da tabela esquerda (T1) não tiver nenhuma linha correspondente da tabela T2, a consulta combina os valores da coluna da linha da tabela esquerda com NULL
para cada coluna dos valores da tabela direita.
em resumo, a cláusula LEFT JOIN
devolve todas as linhas da tabela esquerda (T1) e linhas correspondentes ou NULL
valores da tabela direita (T2).
o seguinte ilustra o LEFT JOIN
de dois quadros T1(1, 2, 3) e T2(A, B, C)., LEFT JOIN
irá corresponder linhas da tabela T1 com linhas da tabela T2 uso de padrões:
nesta ilustração, nenhuma linha de T2 tabela coincide com a linha 1 da tabela T1, portanto, NULO é usado. As linhas 2 e 3 da tabela T1 correspondem às linhas a e B da tabela T2, respectivamente.,
SQL Server LEFT JOIN exemplo
Veja o seguinte products
e order_items
tabelas
Cada item da ordem do cliente inclui um produto. The link between theorder_items
and theproducts
tables is theproduct_id
column.,
a instrução A seguir usa o LEFT JOIN
cláusula para consultar dados a partir de products
e order_items
tabelas:
Como você pode ver claramente a partir do conjunto de resultados, uma lista de NULL
order_id
coluna indica que o correspondente produtos não vendidos para qualquer cliente ainda.
é possível utilizar a cláusulaWHERE
para limitar o conjunto de resultados., A consulta a seguir retorna os produtos que não aparecem em qualquer ordem de vendas:
Como sempre, o SQL Server processa o WHERE
cláusula depois de LEFT JOIN
cláusula.,
The following example shows how to join three tables: production.products
, sales.orders
, and sales.order_items
using the LEFT JOIN
clauses:
Here is the output:
SQL Server LEFT JOIN: conditions in ON vs., Cláusula WHERE
O seguinte consulta localiza os produtos que pertencem a identificação da ordem de 100:
Vamos passar a condição de order_id = 100
ON
cláusula:
A consulta retornou todos os produtos, mas apenas a ordem com 100 de identificação tem o produto associado da informação.,
Note que, para o INNER JOIN
cláusula, a condição a ON
cláusula é funcionalmente equivalente, se for colocado no WHERE
cláusula.
neste tutorial, você aprendeu a usar o servidor SQL LEFT JOIN
cláusula para recuperar dados de várias tabelas relacionadas.
Deixe uma resposta