Uma junção poderia ser uma relação de todas as combinação de todas as tabelas? Esse conceito ainda é meio confuso, mas estou aprendendo mais e mais, obrigado Alura!
Uma junção poderia ser uma relação de todas as combinação de todas as tabelas? Esse conceito ainda é meio confuso, mas estou aprendendo mais e mais, obrigado Alura!
Boa noite alexandre, acredito que quando você fala de junção esta se referindo a JOIN correto?
caso seja isso segue uma explicação da forma que eu entendo esse conceito.
De uma olhada nesses graficos e em cada tipo de join, observe que em todo os exemplos existe\ uma intersecção entre A e B, ou seja, uma coluna na tabela contem um conjunto de registros igual a outra coluna na outra tabela e a partir disso elas podem ser relacionadas
Cliente
clienteID | clienteNome | clienteEndereco |
---|---|---|
1 | Luke Skywalker | Tatooine |
2 | Darth Vader | Estrela da Morte |
3 | Princess Leia | Alderaan |
Compra
compaID | produtoID | clienteID |
---|---|---|
1 | 3 | 1 |
2 | 57 | 2 |
3 | 1 | 3 |
4 | 2 | 85 |
Note, ambas as tabelas tem uma coluna em comum (nem sempre essas colunas tem o mesmo nome ok? coloquei assim para facilitar a explicação)
suponhamos que eu queira criar uma tabela cliente_x_compra onde eu retorno todos as vendas e quem as fez e para isso eu use uma junção do tipo inner left que vai me trazer apenas as linhas que correspondem a tabela a esquerda da junção
junção do tipo inner cliente_x_compra
compaID | produtoID | clienteID | clienteNome | clienteEndereco |
---|---|---|---|---|
1 | 3 | 1 | Luke Skywalker | Tatooine |
2 | 57 | 2 | Darth Vader | Estrela da Morte |
3 | 1 | 3 | Princess Leia | Alderaan |
percebe que a linha onde o clienteID era 85 não apareceu na junção? isso porque esse registro não existe na tabela cliente.
mas essa é uma caracteristica apenas de inner join, como as imagens mostram isso pode variar dependendo do tipo ao qual você escolhe
não confunda join com union
Join:
Union: