Resumo: neste tutorial, você aprenderá a usar o SQL Server FULL OUTER JOIN
para consultar dados de duas ou mais tabelas.
Introdução à junção externa completa do SQL Server
O FULL OUTER JOIN
retorna um conjunto de resultados que inclui linhas das tabelas esquerda e direita. Quando não houver linhas correspondentes para a linha da tabela à esquerda, as colunas da tabela à direita terão nulos. Da mesma forma, quando não houver linhas correspondentes para a linha da tabela da direita, a coluna da tabela da esquerda terá nulos.
O seguinte mostra a sintaxe do FULL OUTER JOIN
ao juntar duas tabelas T1
e T2
:
Code language: SQL (Structured Query Language) (sql)
A OUTER
palavra-chave é opcional, então você pode ignorá-la conforme mostrado na seguinte consulta:
Code language: SQL (Structured Query Language) (sql)
Nesta sintaxe :
- Primeiro, especifique a tabela esquerda
T1
na cláusulaFROM
. - Em segundo lugar, especifique a tabela certa
T2
e um predicado de junção.
O diagrama de Venn a seguir ilustra o FULL OUTER JOIN
de dois conjuntos de resultados:
Exemplo de junção externa completa do SQL Server
Vamos configurar uma tabela de amostra para demonstrar a junção externa completa.
Primeiro, crie um novo esquema denominado pm
que significa gerenciamento de projetos.
Code language: SQL (Structured Query Language) (sql)
Em seguida, crie novas tabelas denominadas projects
e members
no esquema pm
:
Suponha que apenas cada membro pode participar em um projeto e cada projeto tem zero ou mais membros. Se um projeto está na fase de ideia, portanto, nenhum membro foi atribuído.
Em seguida, insira algumas linhas em projects
e members
tabelas:
Depois disso, consulte os dados das tabelas projects
e members
:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Finalmente, use FULL OUTER JOIN
para consultar dados das tabelas projects
e members
:
Aqui está a saída:
Neste exemplo, a consulta retornou membros que participam de projetos, membros que não participam de nenhum projeto e projetos que não têm membros.
Para encontrar os membros que não participam de qualquer projeto e projetos w hich não tem membros, você adiciona uma WHERE
cláusula à consulta acima:
A imagem a seguir mostra a saída:
Conforme mostrado claramente na saída, Jack Daniel
não participa de nenhum projeto e Develop Mobile Sales Platform
não tem nenhum membro.
Neste tutorial, você aprendeu como usar o SQL Server full outer junte-se para consultar dados de duas ou mais tabelas.