[firebase-br] Qual a funcionalidade do All no select?

Andrei Luís compuvale.software em gmail.com
Sex Dez 22 11:22:56 -03 2006


Você dever ter visto no livro algo assim:

Select [[ALL] | [DISTINCT]] .......

Como você mesmo já falou, o ALL é opcional e default. Ou seja, não faz
diferença se você colocar ou não. Ele serve para trazer todas as
linhas do select em questão, respeitando a clausula Where. O oposto do
ALL é o DISTINCT, que vai trazer apenas linhas não repetidas.
Considere a seguinte tabela:

Clientes
ID     NOME           CIDADE
1      JOAO             PORTO ALEGRE
2      PEDRO          SAO PAULO
3      ANTONIO       RIO DE JANEIRO
4      MARIA           PORTO ALEGRE
5      MARTA          SAO PAULO
6      BEATRIZ        PORTO ALEGRE
7      FULANO        RIO DE JANEIRO
8      BELTRANO    SAO PAULO

Com esta instrução: 'Select cidade from clientes'  ou com essa 'Select
ALL cidade from clientes'

Obtem-se o resultset:

CIDADE
PORTO ALEGRE
SAO PAULO
RIO DE JANEIRO
PORTO ALEGRE
SAO PAULO
PORTO ALEGRE
RIO DE JANEIRO
SAO PAULO

Adicionando a cláusula DISTINCT: 'Select DISTINCT cidade from clientes'

Temos o resultset:

CIDADE
PORTO ALEGRE
SAO PAULO
RIO DE JANEIRO


[]
Andrei


Em 22/12/06, Murilo -> CPR Sistemas<murilo em cprinformatica.com.br> escreveu:
> Mas também pode ser usado logo após o select, ssendo que peloq ue deu a
> entender é um default, porém omitido, oq ue eu quero saber é oq ue ele
> faz, se eu usar=-lo ou não terá algum diferença, ou depende do que mais
> eu inserer... é que estamos criando um função para "desmontar" o select,
> e para o mesmo, é muito interessante entender cada linha para poder
> fazer isso de forma certa, principalmente por que vamos precisar muito
> disso. E também por que fiquei muito curioso, gostaria de saber se ele
> influencia em algo ou é apenas um "escrito" opcional.
>
>
>
> Rubem Nascimento da Rocha escreveu:
> > Até onde me consta, o ALL é usado em clásulas UNION para listar todas as
> > linhas envolvidas nos SELECTs. A função do UNION é mostrar todas as linhas
> > envolvidas nos SELECTs, mas somente as linhas em comum com todos os SELECTs.
> > O UNION ALL, no caso, listaria todas as demais linhas excluídas da seleção
> > feita pelo UNION normal.
> >
> > Sds.
> >
> >> From: "Murilo -> CPR Sistemas" <murilo em cprinformatica.com.br>
> >> Reply-To: FireBase <lista em firebase.com.br>
> >> To: lista em firebase.com.br
> >> Subject: [firebase-br] Qual a funcionalidade do All no select?
> >> Date: Fri, 22 Dec 2006 10:30:21 -0300
> >>
> >> Segundo o livro Dominando o Firebird, ele é um quantificador, mas qual a
> >> sua real utilidade?




Mais detalhes sobre a lista de discussão lista