🧠 Explicação
Esses operadores são usados principalmente com o WHERE
e HAVING
para filtrar dados de forma flexível e poderosa. Eles ajudam a comparar valores com intervalos, listas, padrões e presença de nulos. São essenciais no dia a dia do SQL.
🔹 BETWEEN
Seleciona valores dentro de um intervalo, incluindo os limites.
SELECT * FROM produtos
WHERE preco BETWEEN 10 AND 50;
✔️ Inclui 10 e 50
❗️ Pode ser usado com datas também.
🔹 IN
Filtra valores que pertencem a uma lista específica.
SELECT * FROM funcionarios
WHERE cargo IN ('ANALISTA', 'GERENTE');
✔️ Ideal pra filtros diretos com poucos valores
❗️ Cuidado com listas longas e subconsultas mal otimizadas
🔹 LIKE
Busca padrões de texto usando curingas:
-
%
= qualquer sequência -
_
= um caractere
SELECT * FROM clientes
WHERE nome LIKE 'JO%'; -- começa com JO
✔️ Muito útil em buscas parciais
❗️ Use ILIKE
em alguns bancos pra ignorar maiúsculas/minúsculas
🔹 IS NULL
/ IS NOT NULL
Verifica se o valor está nulo (sem informação).
SELECT * FROM pedidos
WHERE data_entrega IS NULL;
✔️ Fundamental para bancos com muitos campos opcionais
❗️ Comparar com =
não funciona para NULL
🔹 NOT
Inverte o resultado de uma condição.
SELECT * FROM funcionarios
WHERE NOT cargo = 'ESTAGIARIO';
Pode ser usado com IN
, LIKE
, BETWEEN
, EXISTS
, etc.
-- Exemplo com NOT IN
SELECT * FROM produtos
WHERE categoria NOT IN ('ELETRONICO', 'MOVEIS');
💡 Dicas
-
Combine com
AND
eOR
para criar condições poderosas. -
Sempre teste
NULL
comIS NULL
, não use= NULL
. -
Use
BETWEEN
com datas para buscas por período (ex: mês, ano). -
LIKE
com%
no início e no fim pode prejudicar performance em tabelas grandes — evite em produção sem índice adequado.
✅ Conclusão
Esses operadores são o básico avançado do SQL: simples na aparência, mas poderosos no uso. Sabendo aplicá-los bem, você filtra dados com precisão cirúrgica. Todo SELECT bem feito tem um WHERE turbinado com eles.