3 – Conexões Externas
As conexões externas servem para efetuar junções entre tabelas sem que necessariamente exista entre elas uma combinação exata. O LEFT e o RIGHT OUTER JOIN são os componentes desse tipo de conexão. Não é obrigado o uso do termo OUTER, se você encontrar apenas LEFT JOIN, por exemplo, funcionará da mesma maneira.
O OUTER JOIN pode ser utilizado quando você quiser retornar uma lista de todos os programadores, mesmo que estes não estejam relacionados a nenhuma linguagem de programação. A diferença do LEFT para o RIGHT está apenas na identificação de qual tabela da junção irá retornar todos os dados. O mais comum é o LEFT, pois normalmente colocamos a tabela mais importante primeiro. Inclusive a ordem das tabelas e das cláusulas de restrições na consulta, em alguns bancos, altera o desempenho.
Obs.: O modelo de dados utilizado neste post encontra-se em Entendendo Outer Joins SQL – Parte 1 (Produto Cartesiano)
No exemplo abaixo quero uma lista com todos os programadores e suas empresas independente se eles estão relacionados a uma empresa ou não.
SELECT * FROM programadores p LEFT JOIN empresas e ON e.id_empresa = p.id_empresa;
Já neste exemplo, eu quero a lista de todas as empresas e seus programadores, independente se a empresa tem ou não programadores.
SELECT * FROM programadores p RIGHT JOIN empresas e ON e.id_empresa = p.id_empresa;
O banco vai relacionar cada linha de uma tabela com todas as linhas da outra tabela, trazendo as linhas que atendem a comparação existente na consulta (ON) e para as empresas que não tem nem um programador ele irá preencher com NULL os campos, como é o caso da “Empresa 5”.






















10:17 em 24 de junho de 2009
Entendendo Outer Joins SQL – Parte 3 (Conexões Externas LEFT, RIGHT JOIN) | Profissionais TI…
conexões externas servem para efetuar junções entre tabelas sem que necessariamente exista entre elas uma combinação exata. O LEFT e o RIGHT OUTER JOIN são os componentes desse tipo de conexão. …
13:54 em 6 de julho de 2009
[...] Entendendo Outer Joins SQL – Parte 3 (Conexões Externas LEFT, RIGHT JOIN) [...]
21:47 em 16 de julho de 2009
Parabéns pelo esclarecedor material. De fácil entendimento.
11:03 em 17 de julho de 2009
Oi Lúcio!
Obrigada!! Que bom que você gostou!
abraços,
Paulinha
15:46 em 22 de julho de 2009
Paulinha, parabéns pelo post. Eu leio muita coisa na internet e nunca deixo comentário mas seu material está muito bem feito e elucidativo. Eu desenvolvo para WEB e então trabalho com SQL há 4 anos e nunca tinha entendido cruzamentos e não vi ninguém explicar da maneira adequada até então nem em livros muito menos na internet. Obrigado por me ajudar a entender… no fundo é simples, só falta ser dito da maneira correta. Explicar as coisas de maneira simples é uma arte. Parabéns.
16:32 em 22 de julho de 2009
Oi Daniel…
Fico extremamente contente de saber que alcancei meu objetivo, que era explicar o assunto de uma forma que fosse fácil de entender. Principalmente sabendo que o comentário veio de alguém com experiência na área. Muito obrigada pelo comentário, eles motivam a escrever mais e mais.
Abraços,
Paulinha
16:47 em 17 de agosto de 2009
Paulinha,
mto bom o artigo. Parabens!
9:22 em 6 de novembro de 2010
[...] Continue lendo: Parte 3 [...]