[firebase-br] Dúvida cláusula where com operador or e/ou and
Eduardo Bahiense
eduardo em icontroller.com.br
Qua Jan 27 11:24:25 -03 2010
Andrei Luís escreveu:
> Bom dia a todos,
>
> Estou montando um SQL e me surgiu uma dúvida quanto ao uso dos operadores or
> e and.
>
> Exemplo:
>
> 1) where (cid.cidade = 'NOVO HAMBURGO')
> or (cid.cidade = 'ESTANCIA VELHA')
> or (cid.cidade = 'CAMPO BOM')
> or (cid.cidade = 'SAO LEOPOLDO')
> and (v.ano<>2010)
>
>
> 2) where cid.cidade = 'NOVO HAMBURGO'
> or cid.cidade = 'ESTANCIA VELHA'
> or cid.cidade = 'CAMPO BOM'
> or cid.cidade = 'SAO LEOPOLDO'
> and v.ano<>2010
>
>
> 3) where (cid.cidade = 'NOVO HAMBURGO'
> or cid.cidade = 'ESTANCIA VELHA'
> or cid.cidade = 'CAMPO BOM'
> or cid.cidade = 'SAO LEOPOLDO')
> and (v.ano<>2010)
>
>
> Qual sentença traz o resultado correto? A 3?
>
Depende do que você espera como correto:
Se o correto for qualquer uma das cidades passadas contanto que o ano
seja diferente 2010, a 3 está correta.
Observe que 1 e 2 são iguais, diferindo apenas no número de parênteses e
retornarão qualquer cidade listada, mas trará TAMBÉM, qualquer outra em
que v.ano for diferente de 2010.
Eduardo
Mais detalhes sobre a lista de discussão lista