31. BETWEEN
Ú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.