
Gráfico de comparação
Base para Comparação | Junção Externa à Esquerda | Junção Externa Direita | Junção Externa Completa |
---|---|---|---|
Basic | Todas as tuplas da tabela da esquerda permanecem no resultado. | Todas as tuplas da tabela da direita permanecem no resultado. | Todas as tuplas da esquerda e da direita permanecem no resultado. |
Extensão NULL | As tuplas da tabela da esquerda que não possuem uma tupla correspondente na tabela da direita são estendidas com o valor NULL para atributos da tabela da direita. | As tuplas da tabela da direita que não possuem uma tupla correspondente na tabela da esquerda são estendidas com o valor NULL para atributos da tabela da esquerda. | As tuplas de esquerda, bem como a tabela da direita que não tem as tuplas correspondentes na tabela direita e esquerda, respectivamente, são estendidas com o valor NULL para atributos das tabelas direita e esquerda. |
Definição de Junção Externa à Esquerda
Suponha que temos, “ Tabela_A Esquerda Externa Unir-se à Tabela_B “. Então Table_A é a nossa tabela da esquerda como aparece à esquerda da operação Left Outer Join e Table_B é a nossa tabela da direita .
Inicialmente, a junção interna seria aplicada em Table_A e Table_B, o que retornará toda a tupla correspondente da tabela A e B.
Em seguida, ele retornará todas as tuplas de Table_A que não possuem uma tupla correspondente em Table_B. Assim, as tuplas resultantes seriam preenchidas com valores NULL para os atributos da tabela da direita.
Portanto, o resultado obtido da Junção Externa à Esquerda retém todas as tuplas da tabela à esquerda e apenas tuplas correspondentes da tabela à direita.
Vamos discutir Left Outer Join com um exemplo; temos duas tabelas abaixo, Tabela do Aluno e Tabela do Departamento .

Agora, vamos aplicar Left Outer Join, na Student and Department Table.
SELECIONE * DO ALUNO LEFT OUTER JOIN Department
No aluno. Student_ID = Department.Student_ID
Na consulta acima, a tabela Aluno é a tabela e a tabela da esquerda O departamento é a tabela correta. Então, de acordo com o Left Outer Join, o resultado deve ter todas as tuplas da tabela Student, e apenas as tuplas correspondentes da tabela Department.

Definição de junção externa direita
Suponha que temos, “ Tabela_A Junção Externa à Direita Tabela_B “. Então, Table_A é a nossa tabela à esquerda, como aparece à esquerda da operação Right Outer Join e a Table_B é a nossa tabela à direita .
Como em Left Outer Join, inicialmente, a junção interna seria aplicada em Table_A e Table_B, o que retornará toda a tupla correspondente da tabela A e B.
Em seguida, ele retornará todas as tuplas de Table_B que não possuem uma tupla correspondente em Table_A. Assim, as tuplas resultantes seriam preenchidas com valores NULL para os atributos da tabela esquerda.
Portanto, o resultado obtido da junção externa direita retém todas as tuplas da tabela da direita e apenas as correspondentes da tabela da esquerda.
Vamos discutir Right Outer Join com um exemplo; acima temos duas tabelas, Tabela do Aluno e Tabela do Departamento.
Agora, vamos aplicar Right Outer Join à tabela de alunos e de departamentos.
SELECT * FROM Student RIGHT OUTER JOIN Departamento
No aluno. Student_ID = Department.Student_ID
Na consulta acima, a Tabela do Aluno é a nossa Tabela da Esquerda e a Tabela do Departamento é a nossa tabela da direita. De acordo com a operação Right Outer Join, o resultado deve incluir todas as tuplas da tabela Department e apenas as tuplas correspondentes da Tabela de Alunos.

Definição de junção Outer Full
Suponha que tenhamos " Tabela_A Integração Externa Total Tabela_B ". Então Table_A é a nossa tabela da esquerda como aparece à esquerda da operação Full Outer Join e Table_B é a nossa tabela da direita .
Full Outer Join é a combinação de ambos, Left Outer Join e Right Outer Join . Inicialmente, ele aplica a junção interna em Table_A e Table_B para recuperar as tuplas correspondentes de ambas as tabelas. Em seguida, ele estende as tuplas de Table_A com NULL que não possuem uma tupla correspondente em Table_B. Além disso, ele estende as tuplas de Table_B com NULL que não possuem uma tupla correspondente em Table_A.
Portanto, Full Outer Join retém todas as tuplas da esquerda e da direita, juntamente com as tuplas correspondentes de ambas as tabelas.
Vamos discutir FULL Outer Join com um exemplo; temos duas tabelas acima, Tabela do Aluno e Tabela do Departamento .
Agora, aplicaremos Outerer Completo à tabela de alunos e de departamento.
SELECT * FROM Student FULL OUTER JUNTAR Departamento
No aluno. Student_ID = Department.Student_ID
Na consulta acima, a Tabela do Aluno é a nossa mesa à esquerda e a Tabela do Departamento é a nossa tabela à direita. De acordo com o Full Outer Join, o resultado deve incluir todas as tuplas de ambas as tabelas.

Principais diferenças entre junção externa esquerda, direita e total
- O resultado do Left Outer Join tem todas as tuplas da tabela da esquerda. Da mesma forma, o resultado de Right Outer Join possui todas as tuplas da tabela correta. E o resultado do Full Outer Join tem todas as tuplas da tabela esquerda e direita.
- Em Left Outer Join, as tuplas da tabela da esquerda que não possuem uma tupla correspondente na tabela da direita são estendidas com valores Nulos para os atributos da tabela da direita. Oposto é o caso do Right Outer Join. E em Full Outer Join, as tuplas das tabelas esquerda e direita que não têm uma correspondência de tuplas nas tabelas direita e esquerda, respectivamente, são estendidas com NULL para os atributos de tabela direita e esquerda, respectivamente.
Conclusão:
Cuide das posições dos nomes de tabelas em uma consulta. Como a posição do nome da tabela na consulta decide se a tabela seria considerada como tabela da esquerda ou da direita.