Discussion:
"left join" e "left outer join "
(too old to reply)
Felipe Souza Rasche
2005-07-09 14:03:02 UTC
Permalink
Pessoal,

As consultas abaixo produzem o mesmo resultado

select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento

select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento

Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Andre Hass
2005-07-09 20:07:55 UTC
Permalink
Sim traz o mesmo resultado so que vc esta ocultando o outer assim como o
INNER pode ser ocultado na clausula JOIN mas ele traz o mesmo resultado

Hass
Post by Felipe Souza Rasche
Pessoal,
As consultas abaixo produzem o mesmo resultado
select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento
select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento
Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Antonio Rodriugues dos Santos Filho
2005-07-09 22:50:02 UTC
Permalink
Existe gandes diferenças entre o inner e outer join:

O inner join vai relacionar todas as linhas de uma tabelas com as linhas de
outra tabela e trazer como resultado apenas aquelas que satisfizeram a
condição do join tendo uma determinada linha da primeira tabela uma
correspondente na segunda.

O Outer join fará a mesma coisa, mas com uma grande diferença, se um linha
da primeira tabela não obtiver uma correspondente na segunda, esta virá para
o resultado com as informações que cabem a segunda tabela sendo NULL.

A query quye voce fez trouxe resultados iguais provavelmente pelo fato de
todas as linhas da primeira tabela terem uma correspondente na segunda e
portanto o resultado não poderia ser outro.

Experimente fazer um outer join com tabelas que não exista correspondencia
para todas as linhas (que estão na condição de join) e verá o que acontece
--
Abraços

Antonio Rodrigues dos Santos Filho
Post by Andre Hass
Sim traz o mesmo resultado so que vc esta ocultando o outer assim como o
INNER pode ser ocultado na clausula JOIN mas ele traz o mesmo resultado
Hass
Post by Felipe Souza Rasche
Pessoal,
As consultas abaixo produzem o mesmo resultado
select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento
select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento
Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Ana Paula
2005-07-10 20:46:02 UTC
Permalink
Olá Felipe,

sua pergunta é qual a diferença entre "left join" e "left outer join"?
Não existe diferença. Ambos sao palavras chave com o mesmo objetivo.
--
Tks.
Ana Paula
Post by Felipe Souza Rasche
Pessoal,
As consultas abaixo produzem o mesmo resultado
select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento
select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento
Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Mura
2005-07-11 16:55:02 UTC
Permalink
Felipe,

A resposta do Antonio está corretíssima, experimente fazer o teste.

Abraço
Post by Felipe Souza Rasche
Pessoal,
As consultas abaixo produzem o mesmo resultado
select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento
select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento
Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Antonio Rodrigues dos Santos Filho
2005-07-12 04:09:07 UTC
Permalink
Um comentário ainda...
eu não havia percebido que a pergunta é a diferença entre

"left join" e "left outer join"...

Entre estes realmente não há diferença, dá na mesma. A explicação que dei
foi a diferença entre "inner join" e "outer join". Desculpe a distração....
--
Abraços

Antonio Rodrigues dos Santos Filho
Post by Ana Paula
Felipe,
A resposta do Antonio está corretíssima, experimente fazer o teste.
Abraço
Post by Felipe Souza Rasche
Pessoal,
As consultas abaixo produzem o mesmo resultado
select a.elemento from tab_a a left join tab_b b on a.elemento = b.elemento
select a.elemento from tab_a a left outer join tab_b b on a.elemento =
b.elemento
Sabem me dizer o pq do outer o qual a dif em usá-lo ou não ?
Continue reading on narkive:
Loading...