🧠 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 e OR para criar condições poderosas.

  • Sempre teste NULL com IS 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.