Banco de dados - Dieferença entre junção Interna e Externa

Banco de Dados

16/06/2023

qual a diferença entre a junção interna e externa?
Victor

Victor

Curtidas 0

Respostas

Rael Henrique

Rael Henrique

16/06/2023

qual a diferença entre a junção interna e externa?



Basicamente o inner join irá retornar informações de duas ou mais tabelas que estejam relacionadas através da igualdade entre os atributos das tabelas. Quanto ao outer join força a exibição de todos os dados das duas tabelas caso seja executado na sua forma de full outer join.
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

16/06/2023

qual a diferença entre a junção interna e externa?


Imagine que você tem duas tabelas A e B, ambas com a coluna ID, com os seguintes valores:

Tabela A:
ID
--
 1
 2
 4

Tabela B:
ID
--
 1
 2
 3


Agora você quer fazer o join entre elas:

select
  A.ID as A,
  B.ID as B
from
  A inner join B on A.ID = B.ID;

O banco vai retornar os dados que existem em ambas tabelas:

A B
- -
1 1
2 2

select
  A.ID as A,
  B.ID as B
from
  A left outer join B on A.ID = B.ID;

O banco vai retornar todos os dados que existem na tabela A e os correspondentes que existirem na B:

A B
- ----
1 1
2 2
4 null

Em princípio, também poderia utilizar:

select
  A.ID as A,
  B.ID as B
from
  A right outer join B on A.ID = B.ID;

O banco vai retornar todos os dados que existem na tabela B e os correspondentes que existirem na A:

A    B
---- -
1    1
2    2
null 3

select
  A.ID as A,
  B.ID as B
from
  A full outer join B on A.ID = B.ID;

O banco vai retornar todos os dados que existem nas tabelas A e B, com os correspondentes que existirem na outra tabela:

A    B
---- ----
1    1
2    2
4    null
null 3


GOSTEI 0
POSTAR