DevPath · Aprenda a programar ESPTEN

Filtragem avançada

Operadores lógicos e de comparação

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:

-- 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 AND e OR, coloque parênteses. A consulta fica mais legível e você torna sua intenção explícita.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
IN, BETWEEN, LIKE e IS NULL →