Operadores de comparação
Dentro de WHERE você compara valores com estes operadores:
| Operador | Significado |
|---|---|
= |
igual |
<> |
diferente |
< |
menor que |
<= |
menor ou igual |
> |
maior que |
>= |
maior ou igual |
SELECT nome, preco FROM produtos WHERE preco >= 100;
SELECT nome FROM produtos WHERE categoria <> 'audio';
Operadores lógicos: AND, OR, NOT
Eles combinam várias condições em um mesmo WHERE:
AND: ambas as condições são atendidas.OR: pelo menos uma é atendida.NOT: nega uma condição (a inverte).
-- Periféricos que além disso custam menos de 30
SELECT * FROM produtos
WHERE categoria = 'perifericos' AND preco < 30;
-- Produtos de áudio ou de telas
SELECT * FROM produtos
WHERE categoria = 'audio' OR categoria = 'telas';
-- Tudo o que NÃO seja áudio
SELECT * FROM produtos
WHERE NOT categoria = 'audio';
Precedência e parênteses
AND tem prioridade maior que OR (é avaliado primeiro). Quando você
mistura os dois, use parênteses para deixar claro o agrupamento e evitar
surpresas:
-- Sem parênteses, AND "gruda" primeiro:
-- categoria='audio' OR (categoria='telas' AND preco < 200)
SELECT * FROM produtos
WHERE categoria = 'audio' OR categoria = 'telas' AND preco < 200;
-- Com parênteses você controla a ordem:
SELECT * FROM produtos
WHERE (categoria = 'audio' OR categoria = 'telas') AND preco < 200;
Regra prática: assim que você misturar
ANDeOR, coloque parênteses. A consulta fica mais legível e você torna sua intenção explícita.