Fórum Qual a diferença entre left join e right join? #620192

29/06/2023

0

Estou iniciando e gostaria de aprender a diferença com um exemplo
Tiago Perini

Tiago Perini

Responder

Posts

30/06/2023

Arthur Heinrich

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar