31. BETWEEN

Escrito por Uianes Luiz Rockenbach Biondo.
Última atualização em 11 mai. 2024

O operador BETWEEN permite retornar valores de um intervalo (numérico, textual ou data) em um comando WHERE. Sintaxe:

SELECT coluna1, coluna2, ...
FROM nomeTabela
WHERE coluna BETWEEN valor1 AND valor2;

Por exemplo, caso você queira listar somente os nomes dos produtos com o preço entre 10 e 20:

Tabela Produto

id_produto nome_produto preço_produto
1 Caneta 5.00
2 Caderno 18.00
3 Borracha 3.00
4 Lápis 1.50
SELECT nome_produto
FROM Produto
WHERE preço_produto BETWEEN 10 AND 20;

É possível utilizar NOT junto com BETWEEN, ou seja, os valores a serem retornados não deverão estar contidos no intervalo.

SELECT nome_produto
FROM Produto
WHERE preço_produto NOT BETWEEN 10 AND 20;

Neste caso o resultado retornado será qualquer valor, menos os números que estiverem entre 10 e 20.

Outra possibilidade é utilizar o IN conjuntamente com o BETWEEN.

SELECT *
FROM Produto
WHERE preço_produto BETWEEN 1 AND 10 AND id_produto IN (1, 2, 3);

Perceba que neste caso serão retornados somente as informações dos Produtos com preço entre 1 e 10, e que tenham ID entre 1 e 3.

Observação: Também é possível utilizar intervalos textuais e de data. No caso de textos, o resultado ficará entre a primeira e a segunda palavra.

Exemplo com data:

SELECT coluna1, coluna2, ...
FROM nomeTabela
WHERE coluna BETWEEN "YYYY-MM-DD" AND "YYYY-MM-DD";

Exemplo com texto:

SELECT nome_produto
FROM Produto
WHERE nome_produto BETWEEN "Caneta" AND "Borracha";

Resultado: Caneta, Caderno, Borracha.