1
resposta

Dúvida

SELECT id_emprestimo, Tipo, Valor
FROM TabelaEmprestimo
WHERE Tipo IN ('Consignado', 'Automóvel') AND (Valor BETWEEN 10000 AND 50000)
;

Na minha consulta, apenas alterei a ordem da cláusula WHERE e não deu certo. Poderiam me explicar a razão disso, por favor?

1 resposta

Olá Camila!

No SQL, a ordem das condições dentro da cláusula WHERE não altera o resultado. O que realmente faz diferença é como as condições estão agrupadas, principalmente quando usamos AND e OR.

No seu código, a consulta está correta porque você deixou claro que:

  • o Tipo deve ser Consignado ou Automóvel e

  • o Valor deve estar entre 10.000 e 50.000

No fim, não é a posição das condições que importa, e sim a lógica definida pelos operadores e pelos parênteses.

Veja abaixo a consulta estruturada que pode funcionar certinho:

SELECT id_emprestimo, Tipo, Valor
FROM TabelaEmprestimo
WHERE (Valor BETWEEN 10000 AND 50000) AND Tipo IN ('Consignado', 'Automóvel');

Note que a ordem das condições dentro do WHERE não importa, mas a lógica sim. Certifique-se de que ambos os critérios estão sendo aplicados corretamente.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!