Fechar

Entendendo Outer Joins SQL – Parte 3 (Conexões Externas LEFT, RIGHT JOIN)

Por | 24 de junho de 2009 | Desenvolvimento 8 comentários

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”.

right

Marcadores: , , , , , , ,

Outros conteúdos interessantes

Confira os 8 comentários deixados Comentar

  1. Jackson via Rec6
    10:17 em 24 de junho de 2009
    1

    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. …

  2. 8 meses de PTI – Resumão do mês de junho! | Profissionais TI
    13:54 em 6 de julho de 2009
    2

    [...] Entendendo Outer Joins SQL – Parte 3 (Conexões Externas LEFT, RIGHT JOIN) [...]

  3. Lúcio Zanette
    21:47 em 16 de julho de 2009
    3

    Parabéns pelo esclarecedor material. De fácil entendimento.

  4. Paulinha Winter
    11:03 em 17 de julho de 2009
    4

    Oi Lúcio!

    Obrigada!! Que bom que você gostou!

    abraços,
    Paulinha

  5. Daniel
    15:46 em 22 de julho de 2009
    5

    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.

  6. Paulinha Winter
    16:32 em 22 de julho de 2009
    6

    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

  7. A2
    16:47 em 17 de agosto de 2009
    7

    Paulinha,
    mto bom o artigo. Parabens!

  8. Entendendo Outer Joins SQL – Parte 2 (Conexões Internas – INNER JOIN) | Profissionais TI – Pra quem respira informação
    9:22 em 6 de novembro de 2010
    8

    [...] Continue lendo: Parte 3 [...]


Deixe seu comentário!