Emerson,

  Não há vantagem alguma.

   Aprenda a analisar um plano de execução que você verá que o que estou
falando é verdade. Segue abaixo o link de um artigo meu sobre o básico de
como gerar e analisar um plano de execução:

http://www.fabioprado.net/2011/03/analisando-o-plano-de-execucao-para.html


[]s


Em 22 de julho de 2013 19:52, Emerson Sanches
<emerson.sanc...@gmail.com>escreveu:

> **
>
>
> Boa noite pessoal..............desculpe a demora em dar a resposta,mas
> estava "viajando" do trabalho ate em casa.......rs. Fabio, é exatamente
> isso que eu vi, pensei que fazer isso trouxesse alguma vantagem pois
> poderia fazer o join com a segunda tabela já "filtrada" da coisas que nao
> quero, achei que assim poderia ficar mais rapido. Só vou conseguir testar a
> sintaxe amanha, testo e coloco um posição na lista.
>
> Obrigado pela atenção de todos,
>
> Emerson Sanches
> Analista de Sistemas
>
> Em 22 de julho de 2013 18:47, Fabio Prado <fbifa...@gmail.com> escreveu:
>
> > Chiappa,
> >
> > É possível sim fazer o filtro na cláusula ON do JOIN (veja exemplo abaixo
> > no schema HR), porém ninguém recomenda fazer isso. Uma das vantagens do
> > padrão ANSI é justamente separar o que é filtro e o que é relacionamento.
> > Fazer filtro no JOIN bagunça tudo de novo o código!
> >
> > select e.first_name, d.department_name
> > from hr.employees e
> > inner join hr.departments d
> > on e.department_id = d.department_id
> > and e.department_id = 10;
> >
> > Para aqueles que quiserem pesquisar mais sobre a diferença do padrão
> ANSI e
> > o padrão ou dialeto Oracle, consulte:
> >
> > http://www.fabioprado.net/2012/05/sql-padrao-ansi-x-padrao-oracle.html
> >
> >
> > []s
> >
> > Fábio Prado
> >
> >
> > Em 22 de julho de 2013 17:48, J. Laurindo Chiappa
> > <jlchia...@yahoo.com.br>escreveu:
> >
> > > **
> > >
> > >
> > > Vc quer dizer que, na seção de JOIN da cláusula de FROM (usando sintaxe
> > > ANSI, portanto), ao invés de comparação entre colunas tipo :
> > >
> > > SELECT colunasquequero
> > > FROM tabela1 JOIN tabela2 ON colunatal = colunaqual;
> > >
> > > vc viu algo tipo, digamos :
> > >
> > > SELECT colunasquequero
> > > FROM tabela1 JOIN tabela2 ON colunatal = colunaqual AND coluna > 45;
> > >
> > > ou seja, tinha Filtragem mesmo na cláusula FROM ???? Se sim, vc Tem
> > > certeza que viu isso no RDBMS Oracle ???? Pois eu nunca vi isso não, e
> em
> > > toda documentação/referência que conheço é citada comparação entre
> > colunas
> > > para indicar a chave do JOIN, com valores eu nunca ouvi falar....
> > >
> > > []s
> > >
> > > Chiappa
> > >
> > > --- Em oracle_br@yahoogrupos.com.br, Emerson Sanches <emerson.sanches@
> > ...>
> > > escreveu
> > > >
> > > > Na realidade achei que dava pra fazer uma condição na recuperação de
> > > dados
> > > > mesmo.......................lembro de ter visto isso em um
> > > > join.......................
> > > >
> > > >
> > > >
> > > > Emerson Sanches
> > > > Analista de Sistemas
> > > >
> > > >
> > > > Em 22 de julho de 2013 17:29, J. Laurindo Chiappa
> > > > <jlchiappa@...>escreveu:
> > > >
> > > > > **
> > > > >
> > > > >
> > > > > Miltão, acho que podemos dar por ** muito muito Provável** , se não
> > > > > garantido, que o colega lá usou uma terminologia meio inapropriada,
> > pra
> > > > > dizer o mínimo....
> > > > >
> > > > > Emerson, normalmente por "FILTRO" em colunas no contexto de
> > databases a
> > > > > gente entende que vc quer aplicar uma CONDIÇÃO na recuperação de
> > dados
> > > (ie,
> > > > > receber apenas os registros/linhas aonde uma comparação - de
> > igualdade,
> > > > > desigualdade, maior/menor, membro de sub-conjunto, etc - seja
> > > verdadeira
> > > > > para uma dada coluna), e isso COM CERTEZA não se faz em cláusula
> FROM
> > > de um
> > > > > SQL....
> > > > > TALVEZ o que vc queira na verdade é restringir um dado SQL para que
> > > EXIBA
> > > > > apenas algumas colunas dentro de uma lista maior, aí sim vc usaria
> > uma
> > > > > cláusula FROM, no estilo :
> > > > >
> > > > > SELECT colunaqueeuqueroexibir
> > > > > FROM (SELECT listadecolunasmuitomaior FROM nomedatabela...);
> > > > >
> > > > > ok ? É isso que vc quis dizer com "filtro" ?? Se não é, plz Explica
> > > melhor
> > > > > ....
> > > > >
> > > > > []s
> > > > >
> > > > > Chiappa
> > > > >
> > > > > --- Em oracle_br@yahoogrupos.com.br, "Milton Bastos Henriquis Jr."
> > > > > <miltonbastos@> escreveu
> > > > >
> > > > > >
> > > > > > Rapaz... melhor vc perguntar lá no Posto Ipiranga... rs...
> > > > > >
> > > > > > Filtro na clausula FROM eu particularmente desconheço! Não me
> > lembro
> > > de
> > > > > ter
> > > > > > visto isso!
> > > > > >
> > > > > > Alguém conhece???
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > 2013/7/22 emerson_sanches <emerson.sanches@>
> > > > >
> > > > > >
> > > > > > > **
> > > > > > >
> > > > > > >
> > > > > > > Boa tarde pessoal da lista, sei que dá pra fazer isso, mas to
> > > apanhando
> > > > > > > pra achar na net. Gostaria de fazer o filtro de um campo na
> > > clausula
> > > > > from e
> > > > > > > nao na where. Sera que alguem poderia me a lembrar a sintaxe.
> > > > > > >
> > > > > > > Obrigado.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > >
> > >
> > >
> >
> >
> >
> > --
> > Fábio Prado
> > www.fabioprado.net
> > "Compartilhando conhecimentos e treinando profissionais em Bancos de
> Dados
> > Oracle"
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> >
> > ----------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> > inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> >
> > ----------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
> ESPAÇO!
> > VISITE: http://www.oraclebr.com.br/
> > ----------------------------------------------------------
> > Links do Yahoo! Grupos
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Fábio Prado
www.fabioprado.net
"Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
Oracle"


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a