SQL BETWEEN: Ler valores em um espectro definido
SQL BETWEEN é usado para definir um intervalo de valores a ser considerado em uma consulta. O operador funciona com números, datas e textos (strings).
O que é SQL BETWEEN?
Se você deseja exibir entradas, em um banco de dados, que estejam dentro de um intervalo de valores definido usando a Linguagem de Consulta Estruturada (SQL), o operador SQL BETWEEN é a melhor escolha. Ele pode ser aplicado não apenas a valores numéricos, mas também a datas e até mesmo a entradas de texto (strings). Esse operador é inclusivo, o que significa que o primeiro e o último valor que delimitam o intervalo são incluídos na contagem. O SQL BETWEEN deve ser utilizado com uma cláusula WHERE e executado com os comandos SQL DELETE, INSERT, SELECT e UPDATE.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
Sintaxe e funcionalidade
Vamos examinar mais de perto a interação do operador SQL BETWEEN com o comando SELECT e a cláusula WHERE. A sintaxe correspondente é a seguinte:
SELECT coluna1, coluna2, …
FROM nome_da_tabela
WHERE nome_da_coluna BETWEEN valor_inicial AND valor_final;
sqlCom coluna1
, coluna2
etc., você especifica quais colunas devem ser exibidas. Em seguida, você indica o nome da tabela onde essas colunas estão localizadas. Em nome_da_coluna
, você define quais valores exatamente devem ser considerados e, em seguida, usa BETWEEN valor_inicial AND valor_final
para especificar o intervalo em que os valores devem estar.
Exemplo de uso do operador
Para ilustrar melhor o funcionamento do operador SQL BETWEEN, criamos uma tabela de exemplo chamada “Lista de clientes”. Nela, listamos o número de cada cliente, o nome, a localização, a data do pedido, a quantidade de itens encomendados e o valor total em reais que esses clientes pagaram.
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1427 | Santos | Fortaleza | 13/01/2024 | 14 | 634 |
1377 | Fonseca | Piracicaba | 19/01/2024 | 9 | 220 |
1212 | Hernandez | Piracicaba | 03/01/2024 | 15 | 619 |
1431 | Faria | Patos de Minas | 19/01/2024 | 22 | 912 |
1118 | Becker | Goiânia | 01/02/2024 | 10 | 312 |
Se quisermos filtrar essa lista, podemos usar o SQL BETWEEN para isso. Por exemplo, é possível exibir apenas os clientes que investiram entre 300 e 700 reais no período especificado. Observe:
SELECT Número do Cliente, Nome, Localização, Data, Itens, Valor Total
FROM Lista de clientes
WHERE Valor Total BETWEEN 300 AND 700;
sqlA saída correspondente seria a seguinte:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1427 | Santos | Fortaleza | 13/01/2024 | 14 | 634 |
1212 | Hernandez | Piracicaba | 03/01/2024 | 15 | 619 |
1118 | Becker | Goiânia | 01/02/2024 | 10 | 312 |
Palavras como espectro de valores
O operador SQL BETWEEN também funciona com palavras — o critério é baseado nas letras iniciais dos valores textuais armazenados. No exemplo a seguir, queremos considerar apenas as entradas que estão alfabeticamente entre “Faria“ e “Santos”.
SELECT Número do Cliente, Nome, Localização, Data, Itens, Valor Total
FROM Lista de clientes
WHERE Nome BETWEEN 'Faria' AND 'Santos'
ORDER BY Nome;
sqlA saída será a seguinte tabela:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1431 | Faria | Patos de Minas | 19/01/2024 | 22 | 912 |
1377 | Fonseca | Piracicaba | 19/01/2024 | 9 | 220 |
1212 | Hernandez | Piracicaba | 03/01/2024 | 15 | 619 |
1427 | Santos | Fortaleza | 13/01/2024 | 14 | 634 |
Os registros “Faria” e “Santos” são incluídos, pois o operador é inclusivo. Usando o comando ORDER BY Nome, podemos ordenar a saída em ordem alfabética.
Selecionar por data
Se você deseja visualizar apenas as transações de pedidos que foram processadas dentro de um intervalo específico, também é possível usar o SQL BETWEEN para isso. No exemplo a seguir, filtramos nossa lista de clientes para mostrar pedidos feitos entre 10 e 31 de janeiro de 2024. O resultado seria:
SELECT Número do Cliente, Nome, Localização, Data, Itens, Valor Total
FROM Lista de clientes
WHERE Data BETWEEN '1/10/2024' AND '1/31/2024';
sqlComo resultado obtemos esta tabela:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1427 | Santos | Fortaleza | 13/01/2024 | 14 | 634 |
1377 | Fonseca | Piracicaba | 19/01/2024 | 9 | 220 |
1431 | Faria | Patos de Minas | 19/01/2024 | 22 | 912 |
Operadores semelhantes ao SQL BETWEEN
Você também pode exibir apenas os resultados que estão fora do intervalo definido. Para isso, use NOT BETWEEN. A abordagem é muito semelhante. Se quisermos, no nosso exemplo, mostrar apenas os clientes que gastaram menos de 300 ou mais de 700 reais, o processo seria o seguinte:
SELECT Número do Cliente, Nome, Localização, Data, Itens, Valor Total
FROM Lista de clientes
WHERE Valor Total NOT BETWEEN 300 AND 700;
sqlA saída incluiria apenas dois registros:
Número do Cliente | Nome | Localização | Data | Itens | Valor Total |
---|---|---|---|---|---|
1377 | Fonseca | Piracicaba | 19/01/2024 | 9 | 220 |
1431 | Faria | Patos de Minas | 19/01/2024 | 22 | 912 |
Hospede o seu servidor de acordo com as suas necessidades: Com o SQL Server Hosting da IONOS, você não apenas escolhe entre o MSSQL, o MySQL e o MariaDB, como também se beneficia de consultorias personalizadas e do melhor desempenho do mercado.