Operador MySQL BETWEEN
O operador MySQL BETWEEN
O BETWEEN
operador seleciona valores dentro de um determinado intervalo. Os valores podem ser números, texto ou datas.
O BETWEEN
operador é inclusivo: os valores inicial e final são incluídos.
Sintaxe ENTRE
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Banco de dados de demonstração
Abaixo está uma seleção da tabela "Produtos" no banco de dados de exemplo Northwind:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton's Cajun Seasoning | 1 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton's Gumbo Mix | 1 | 2 | 36 boxes | 21.35 |
ENTRE Exemplo
A seguinte instrução SQL seleciona todos os produtos com preço entre 10 e 20:
Exemplo
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
NÃO ENTRE Exemplo
Para exibir os produtos fora do intervalo do exemplo anterior, use
NOT BETWEEN
:
Exemplo
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
BETWEEN com IN Exemplo
A instrução SQL a seguir seleciona todos os produtos com preço entre 10 e 20. Além disso; não mostre produtos com um CategoryID de 1,2 ou 3:
Exemplo
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID NOT IN (1,2,3);
BETWEEN Text Values Exemplo
A seguinte instrução SQL seleciona todos os produtos com um ProductName entre "Carnarvon Tigers" e "Mozzarella di Giovanni":
Exemplo
SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella
di Giovanni'
ORDER BY ProductName;
A seguinte instrução SQL seleciona todos os produtos com um ProductName entre "Carnarvon Tigers" e "Chef Anton's Cajun Seasoning":
Exemplo
SELECT * FROM Products
WHERE ProductName BETWEEN "Carnarvon Tigers" AND
"Chef Anton's Cajun Seasoning"
ORDER BY ProductName;
Exemplo de valores de texto NOT BETWEEN
A seguinte instrução SQL seleciona todos os produtos com um ProductName não entre "Carnarvon Tigers" e "Mozzarella di Giovanni":
Exemplo
SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella
di Giovanni'
ORDER BY ProductName;
Tabela de Amostra
Abaixo está uma seleção da tabela "Pedidos" no banco de dados de exemplo Northwind:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 7/4/1996 | 3 |
10249 | 81 | 6 | 7/5/1996 | 1 |
10250 | 34 | 4 | 7/8/1996 | 2 |
10251 | 84 | 3 | 7/9/1996 | 1 |
10252 | 76 | 4 | 7/10/1996 | 2 |
Exemplo ENTRE Datas
A seguinte instrução SQL seleciona todos os pedidos com uma OrderDate entre '01-July-1996' e '31-July-1996':
Exemplo
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';