Como usar BETWEEN para filtrar dados dentro de um intervalo?
O operador BETWEEN no SQL é utilizado para selecionar registros dentro de um intervalo definido, sendo muito útil para consultas que envolvem números, datas ou valores textuais.
Usando BETWEEN com números
Se quisermos encontrar produtos com preços entre 100 e 500 reais:
SELECT * FROM produtos WHERE preco BETWEEN 100 AND 500;
Isso retorna todos os produtos cujo preço esteja entre 100 e 500, incluindo os limites.
Usando BETWEEN com datas
Para buscar pedidos realizados entre 1º de janeiro e 30 de junho de 2024:
SELECT * FROM pedidos WHERE data_compra BETWEEN '2024-01-01' AND '2024-06-30';
Isso retorna todos os pedidos feitos dentro desse período, incluindo as datas de início e fim.
Usando BETWEEN com valores textuais
Em alguns bancos de dados, o BETWEEN pode ser utilizado para comparar strings alfabeticamente:
SELECT * FROM clientes WHERE nome BETWEEN 'A' AND 'M';
Isso retorna clientes cujos nomes começam entre A e M, seguindo a ordenação do banco de dados.
Alternativa com operadores de comparação
O BETWEEN
é equivalente a usar >=
e <=
:
SELECT * FROM produtos WHERE preco >= 100 AND preco <= 500;
Cuidados ao usar BETWEEN
- BETWEEN inclui os valores extremos, então
BETWEEN 10 AND 20
inclui10
e20
. - Para intervalos de datas, certifique-se de que o formato esteja correto para evitar erros.
- Se precisar excluir os extremos, use
> menor_valor AND < maior_valor
em vez deBETWEEN
.
Quando usar BETWEEN no SQL e como evitar armadilhas?
O operador BETWEEN
no SQL é uma ferramenta eficiente para consultas que precisam filtrar dados dentro de um intervalo. Seja para analisar vendas em um período específico, buscar produtos dentro de uma faixa de preços ou filtrar registros com base em critérios alfabéticos, BETWEEN
simplifica a sintaxe e melhora a legibilidade das consultas. No entanto, em bancos de dados grandes, é importante garantir que as colunas usadas com BETWEEN
estejam indexadas para evitar problemas de performance. Além disso, quando se trabalha com datas, considerar o uso de horários junto com as datas pode evitar inconsistências nos filtros.
Algumas aplicações:
- Filtragem de produtos dentro de uma faixa de preços
- Consulta de registros em um intervalo de datas
- Seleção de clientes cujos nomes começam com determinadas letras
- Relatórios financeiros baseados em períodos específicos
- Filtragem de pedidos por quantidade mínima e máxima
Dicas para quem está começando
- Use
BETWEEN
quando precisar filtrar valores dentro de um intervalo - Lembre-se de que os valores extremos são incluídos no resultado
- Para excluir os valores extremos, prefira
> menor_valor AND < maior_valor
- Se precisar filtrar datas, sempre teste os formatos aceitos pelo seu banco de dados
- Para melhor desempenho, garanta que a coluna usada no
BETWEEN
esteja indexada
Contribuições de Rodrigo Martins