Curso
O operador SQL BETWEEN é uma ferramenta para filtrar valores em um intervalo específico. Ele está incluído na declaração SELECT para simplificar e melhorar a legibilidade da consulta.
Se você é novo no SQL, recomendo que faça os cursos Introduction to SQL e SQL Fundamentals para dar o pontapé inicial no aprendizado do SQL e se tornar um analista qualificado.
A resposta curta: O que é o operador BETWEEN do SQL?
O operador BETWEEN filtra e retorna linhas em um conjunto de dados dentro de um determinado intervalo. Quando incluído na instrução SELECT, o operador BETWEEN retorna os valores de início e fim fornecidos. Esse poderoso operador pode retornar valores em vários tipos de dados SQL, incluindo datas, dados numéricos e de cadeia de caracteres.
No exemplo abaixo, a consulta é usada para selecionar todos os registros de funcionários cujos salários estão entre 50.000 e 60.000 na tabela employees. Lembre-se de que o operador BETWEEN é inclusivo, portanto, 50.000 e 60.000 serão incluídos no resultado.
-- Select all columns from the Employees table
SELECT *
FROM employees
-- Filter the results to include only employees with salaries between 50,000 and 60,000
WHERE salary BETWEEN 50000 AND 60000;
Sintaxe do operador BETWEEN do SQL
O operador BETWEEN tem uma sintaxe simples na instrução SELECT para filtrar os valores. É usado na cláusula WHERE para especificar os limites inferior e superior do intervalo de dados que está sendo filtrado.
-- Select the specified columns from the table
SELECT column_name(s)
FROM table_name
-- Filter the results to include only those where column_name values fall between (inclusive)
WHERE column_name BETWEEN value1 AND value2;
A folha de dicas básicas de SQL da DataCamp também será útil se você quiser consultar a sintaxe de operadores comuns, incluindo BETWEEN.
Pontos importantes a serem lembrados sobre o SQL BETWEEN
Ao usar o operador BETWEEN, é importante observar que ele é colocado na cláusula WHERE da declaração SELECT. Esse posicionamento garante que o operador BETWEEN filtre a coluna destacada pela cláusula WHERE.
-- Select all columns from the Employees table
SELECT *
FROM employees
-- Filter the results to include only employees with employeee_id between 10 and 18
WHERE employee_id BETWEEN 10 AND 18;
O operador BETWEEN é o preferido para filtrar valores dentro de intervalos, pois oferece filtragem concisa de dados. A sintaxe é simples e melhora a legibilidade da consulta ao filtrar várias condições.
Sem o operador BETWEEN, usamos outros operadores para obter resultados semelhantes. Observe a inclusão dos operadores na cláusula WHERE, o que torna a consulta menos legível e complexa.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than or equal to 50,000
-- and less than or equal to 60,000
WHERE salary >= 50000 AND salary <= 60000;
A consulta fica mais legível e fácil de entender com o operador BETWEEN.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is between 50,000 and 60,000 (inclusive)
WHERE salary BETWEEN 50000 AND 60000;
Lembre-se sempre de que os valores especificados no operador BETWEEN estão incluídos nos resultados. A consulta SQL retornará registros em que os valores são incluídos como limites superior e inferior dos dados.
Casos de uso comuns de SQL BETWEEN
O operador BETWEEN tem diferentes casos de uso na filtragem de dados, inclusive filtragem de intervalos numéricos ou de datas. Vamos dar uma olhada.
Filtragem de intervalos numéricos com BETWEEN
O operador BETWEEN é comumente usado para filtrar dados numéricos. Nesse cenário, você pode filtrar os dados para recuperar aqueles que estão dentro de um determinado intervalo. No exemplo abaixo, filtramos a tabela de funcionários para que você retorne as linhas com salários entre 62.000 e 70.000.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter the results to include only those employees whose salary is between 62,000 and 70,000 (inclusive)
WHERE salary BETWEEN 62000 AND 70000;
Filtragem de intervalos de datas com BETWEEN
O operador BETWEEN também pode filtrar registros dentro de determinados intervalos de datas. Esse aplicativo é útil para analisar dados com valores de data e hora.
Supondo que tenhamos uma coluna chamada hire_date em nossa tabela employees, podemos usar o operador BETWEEN para filtrar as datas e encontrar registros de funcionários contratados em um período específico.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where hire date is between January 1, 2022, and December 31, 2022 (inclusive)
WHERE hire_date BETWEEN '2022-01-01' AND '2022-12-31';
Combinação de BETWEEN com outros operadores
Você também pode combinar o operador BETWEEN com outros operadores para obter cenários de filtragem complexos. Essa técnica é importante se você quiser uma filtragem específica. No exemplo abaixo, usamos o operador equal (=) na cláusula WHEN para filtrar as linhas que contêm apenas o departamento de vendas. Em seguida, a consulta usa o operador BETWEEN para filtrar ainda mais os registros, incluindo os salários entre 50.000 e 60.000.
-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where department is 'Sales' and salary is between 50,000 and 60,000 (inclusive)
WHERE department = 'Sales' AND salary BETWEEN 50000 AND 60000;
Recomendo que você navegue pela coleção de cursos de SQL da DataCamp para encontrar o curso certo para você.
Limitações do comando SQL Between
Por fim, vamos dar uma olhada em algumas limitações e alternativas.
Limitações do operador BETWEEN no SQL
As possíveis limitações do operador SQL BETWEEN incluem:
- Possível confusão dos limites de inclusão: Como o operador
BETWEENinclui os valores especificados como limites superior e inferior, ele pode gerar confusão ou resultados inesperados se for usado incorretamente. - Problemas de desempenho com grandes conjuntos de dados: O uso do operador
BETWEENsem especificar os índices pode levar a problemas de desempenho, especialmente quando você usa conjuntos de dados grandes.
Alternativas ao operador BETWEEN no SQL
Como o operador BETWEEN inclui os valores especificados como limites inferior e superior, podemos usar os operadores menor que (<) e maior que (>) para obter uma filtragem exclusiva. Essa técnica garantirá que esses valores não sejam incluídos nos resultados.
-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than 50,000
-- and less than 60,000 (exclusive)
WHERE salary > 50000 AND salary < 60000;
Conclusão
O operador BETWEEN no SQL é útil para filtrar valores dentro de determinados intervalos. Para os analistas de dados, é importante entender a importância de usar o operador BETWEEN para filtragem e manipulação de dados. Incentivo você a continuar praticando o operador BETWEEN usando diferentes conjuntos de dados para diferentes tipos de dados SQL para aprimorar suas habilidades em SQL.
O aprendizado contínuo ajudará você a se destacar entre os demais no campo profissional. Incentivo você a fazer o curso mais avançado Reporting in SQL e a considerar o abrangente programa de carreira Associate Data Analyst in SQL. Por fim, a DataCamp também oferece uma Certificação de Associado SQL para ajudar a mostrar a você suas conquistas profissionais no uso do SQL para análise de dados.
Perguntas frequentes
O operador SQL BETWEEN filtra os dados em um intervalo de valores.
O operador SQL BETWEEN é usado na cláusula WHERE para filtrar os dados da coluna especificada.
O operador BETWEEN pode ser usado com diferentes tipos de dados, inclusive datas, numéricos e de cadeia de caracteres.
Você pode incluir outros operadores na cláusula WHERE antes do operador BETWEEN para filtragem avançada.
Você deve usar o > e < para evitar que você obtenha os valores de limite inferior e superior ao usar o operador SQL BETWEEN do SQL.

