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:
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:
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:
Excelente! Agora assista a um vídeo com a explicação completa sobre o uso da cláusula BETWEEN em MYSQL:
Amigo eu não sou muito de comentar agradecendo não, mas vc me ajudou de mais, muito obrigado e sucesso
Muito obrigado José!!!!!
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?
Olá Davi! Pergunta respondida lá no próprio vídeo para você! Abraço!
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?
Bom dia amigo. Se eu quiser mudar um intervalo de valores numéricos ex. 340 e 500 para uma String = bom como faria?
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.