[firebase-br] Dúvida cláusula where com operador or e/ou and
Alysson Azevedo
agalysson em gmail.com
Qua Jan 27 14:24:43 -03 2010
Para os casos 1 e 2, uma será tratado assim:
where (cid.cidade = 'NOVO HAMBURGO')
or (cid.cidade = 'ESTANCIA VELHA')
or (cid.cidade = 'CAMPO BOM')
or (cid.cidade = 'SAO LEOPOLDO' and v.ano<>2010)
repare q apenas recebe a condição <> 2010, pro resto, essa condição não faz
efeito...
ja o 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)
essa query só retornara registros com essas 4 cidades e todos esses
registros, diferente de 2010...
--
Alysson Gonçalves de Azevedo
(11) 8491-7730
\\ ^__^
\\ (oo)\_______
\(__)\ )\/
||`~~~~~´||
_||' _||
2010/1/27 Eduardo Bahiense <eduardo em icontroller.com.br>
> 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
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista