SQL OUTER JOIN (Português)
Resumo: neste tutorial, você aprenderá a usar a junção externa SQL incluindo junção externa esquerda, junção externa direita e junção externa completa.
Se você deseja aprender sobre o SQL INNER JOIN, confira o tutorial do SQL INNER JOIN.
Existem três tipos de OUTER JOIN: junção externa esquerda, direita junção externa e junção externa completa. Vamos examinar cada tipo de junção com mais detalhes.
SQL OUTER JOIN – junção externa esquerda
A junção externa esquerda SQL também é conhecida como junção esquerda SQL. Suponha que queremos unir duas tabelas: A e B. SQL left outer join retorna todas as linhas da tabela à esquerda (A) e todas as linhas correspondentes encontradas na tabela da direita (B). Isso significa que o resultado da junção à esquerda do SQL sempre contém as linhas da tabela à esquerda.
O seguinte ilustra a sintaxe externa esquerda do SQL da junção de 2 tabelas: table_A e table_B:
1
2
3
4
|
SELECIONE coluna1, coluna2 …
DA tabela_A
LEFT JOIN table_B ON join_condition
ONDE row_condition
|
SQL OUTER JOIN – exemplo de junção externa esquerda
A consulta a seguir seleciona todos os clientes e seus pedidos:
1
2
3
4
5
6
|
SELECIONE c.customerid,
c.companyName,
orderid
DOS clientes c
LEFT JOIN pedidos o ON o.customerid = c .customerid
ORDER BY orderid
|
Todas as linhas da tabela de clientes são listadas. Caso não haja nenhuma linha correspondente na tabela de pedidos encontrada para a linha na tabela de clientes, a coluna orderid na tabela de pedidos é preenchida com valores NULL.
Podemos usar o diagrama de Venn para visualizar como o SQL LEFT OUTER JOIN funciona.
SQL OUTER JOIN – junção externa direita
A junção externa direita SQL retorna todas as linhas na tabela certa e todas as linhas correspondentes encontradas na tabela à esquerda. A sintaxe da junção externa direita do SQL é a seguinte:
1
2
3
4
|
SELECIONE coluna1, coluna2 …
DE table_A
RIGHT JOIN table_B ON join_condition
WHERE row_condition
|
A junção externa direita SQL também é conhecida como junção direita SQL.
SQL OUTER JOIN – exemplo de junção externa direita
O exemplo a seguir demonstra o Junção externa direita SQL:
1
2
3
4
5
6
|
SELECT c.customerid,
c.companyName,
orderi d
DE clientes c
ENCOMENDA DE DIREITOS pedidos o ON o.customerid = c.customerid
ORDER BY orderid
|
A consulta retorna todas as linhas na tabela de pedidos e todas as linhas correspondentes encontradas na tabela de clientes.
O diagrama de Venn a seguir ilustra como a junção externa direita SQL funciona:
SQL OUTER JOIN – junção externa completa
A sintaxe da junção externa completa do SQL é a seguinte:
1
2
3
4
|
SELECIONE coluna1, coluna2 …
FROM table_A
FULL OUTER JOIN table_B ON join_condition
WHERE row_condition
|
Retornos de junção externa completa de SQL:
- todos ro ws na tabela esquerda table_A.
- todas as linhas na tabela direita table_B.
- e todas as linhas correspondentes em ambas as tabelas.
Algum banco de dados os sistemas de gerenciamento não oferecem suporte à sintaxe de junção externa completa, por exemplo, MySQL. Porque a junção externa completa SQL retorna um conjunto de resultados que é um resultado combinado da junção à esquerda do SQL e da junção à direita do SQL.Portanto, você pode facilmente emular a junção externa completa SQL usando a junção à esquerda SQL e a junção direita SQL com o operador UNION da seguinte maneira:
SQL OUTER JOIN – exemplo de junção externa completa
A consulta a seguir demonstra a junção externa completa do SQL:
1
2
3
4
5
6
|
SELECIONE c.customerid,
c.companyName,
id do pedido
DOS clientes c
FULL OUTER JOIN pedidos o ON o.customerid = c.customerid
ORDENAR POR ID do pedido
|
O diagrama de Venn a seguir ilustra como funciona a junção externa completa de SQL:
Neste tutorial, você aprendeu sobre vários SQL OUTER JOIN incluindo junção esquerda SQL, direita SQL join e SQL full outer join.
- Este tutorial foi útil?
- Sim Não