🧠 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
ANDeORpara criar condições poderosas. -
Sempre teste
NULLcomIS NULL, não use= NULL. -
Use
BETWEENcom datas para buscas por período (ex: mês, ano). -
LIKEcom%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.