2
respostas

Exercício 14 SQL

SELECT * FROM COMPRAS 
WHERE VALOR >= 1000 AND VALOR <= 3000 OR VALOR > 5000;

SELECT * FROM COMPRAS WHERE (VALOR >= 1000 AND VALOR <= 3000) OR (VALOR > 5000)

Na resposta do professor, ele utiliza a segunda querie, por que devo utilizar o () se sem eles, trouxe o mesmo resultado?

2 respostas

Boa noite,

Neste caso realmente não teria diferença, porém é caso a caso. Tu deve entender de Tabela Verdade, se não talvez te ajude a entender um pouco melhor. A resposta para este caso seria igual de qualquer forma mas o uso dos parenteses são mais para cumprir o Pattern e formar uma leitura mais fácil de ser realizada para quem está aprendendo.

Boa tarde.

Fixando a explicação: Quando a instrução possui condições (AND, OR) isoladas entre parênteses, significa que serão condições distintas.

EX: na condição: "WHERE VALOR >= 1000 AND VALOR <= 3000 OR VALOR > 5000" serão consideradas as 3 condições: 1. VALOR >= 1000 2. VALOR <= 3000 3. VALOR > 5000".

Já na condição: WHERE (VALOR >= 1000 AND VALOR <= 3000) OR (VALOR > 5000) os parênteses delimitam as condições, existindo apenas duas: 1. (VALOR >= 1000 AND VALOR <= 3000) 2. (VALOR > 5000)