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

<*> 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