MySQL – BETWEEN – Seleção de intervalos em consultas

MySQL – BETWEEN – Seleção de intervalos em consultas

Vamos aprender nesta aula a aprimorar nossas consultas em um banco de dados MySQL usando a cláusula BETWEEN, que nos permite selecionar intervalos de dados ao retornar os resultados de uma consulta.

Podemos usar a cláusula BETWEEN para, por exemplo, retornar registros cujos preços estejam entre dois valores distintos, ou registros contidos dentro de um intervalo de datas especificado.

A sintaxe para uso da cláusula BETWEEN é a seguinte:

SELECT colunas FROM tabela
WHERE coluna BETWEEN valor1 AND valor2;

Usamos o operador lógico AND para auxiliar na criação do código de consulta.

Vejamos alguns exemplos.

Exemplo 1: Vamos retornar todos os livros da tabela tbl_livro cuja data de publicação esteja entre 17/05/2004 e 17/05/2011 (note como a data é fornecida no código: ano|mês|dia):

SELECT * FROM tbl_Livro
WHERE Data_Pub BETWEEN '20040517' AND '20110517';

Resultado:

Cláusula SQL BETWEEN em MySQL

Exemplo 2: Agora vamos retornar os nomes dos livros e seus respectivos preços, da tabela tbl_livros, porém somente os livros cujos preços estiverem entre R$ 40,00 e 60,00:

SELECT Nome_Livro AS Livro, Preco_Livro AS Preço
FROM tbl_Livro
WHERE Preco_Livro BETWEEN 40.00 AND 60.00;

Resultado:

Selecionar intervalos em consultas SQL - comando BETWEEN

Excelente! Agora assista a um vídeo com a explicação completa sobre o uso da cláusula BETWEEN em MYSQL:

Sobre Fábio dos Reis (1212 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

8 Comentários em MySQL – BETWEEN – Seleção de intervalos em consultas

  1. José Luiz // 20/08/2018 em 19:08 // Responder

    Amigo eu não sou muito de comentar agradecendo não, mas vc me ajudou de mais, muito obrigado e sucesso

  2. Boa tarde, professor. Tudo bem? Primeiro quero agradecer por disponibilizar seu conhecimento de forma gratuita. Estou assistindo sua aula sobre SQL no youtube, e na aula 20, o Sr não usou aspas em para os números 40 e 60. Tinha entendido que sempre que fossemos selecionar uma string ( acho que é esse o nome), teria por aspas simples. Por que nada é colocado aspas e nos números 40 e 60 não?

  3. Boa tarde Prof.
    Minha dúvida é: como faço para encerrar uma consulta SQL e voltar ao registro atual do recordset/recordsource voltando ao registro que eu estava antes da consulta?

  4. JONATA PAULINO DA COSTA // 24/02/2019 em 11:43 // Responder

    Bom dia amigo. Se eu quiser mudar um intervalo de valores numéricos ex. 340 e 500 para uma String = bom como faria?

  5. E se o intervalo ao invés de números for com as letras do alfabeto?
    Criar um intervalo onde a inicial dos nomes esteja entre as letras A e N.

    • Olá Giuseppe!
      A cláusula BETWEEN trabalha basicamente com números. Mas você pode usar a função SUBSTR() do MySQL em conjunto para conseguir o que deseja. Ficaria mais ou menos assim:
      SELECT * FROM tabela
      WHERE SUBSTR(Coluna,1,1) BETWEEN 'A' AND 'N'
      ORDER BY Coluna;

      Experimente adaptar esse código e veja se é o que você queria fazer.

Escreva um comentário

Seu e-mail não será divulgado


*