Оператор BETWEEN выбирает значение в заданном диапазоне. Значениями могут быть цифры, текст или даты.
Оператор BETWEEN выбирает данные, включая начальное и конечное значение.
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2
Ниже приведена выборка из таблицы "Products":
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18.00 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19.00 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10.00 |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22.00 |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Следующая SQL-инструкция выбирает все продукты с ценой от 10 до 20:
Run SQLSELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
Чтобы отобразить продукты вне диапазона предыдущего примера, используйте NOT BETWEEN:
Run SQLSELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20
Следующая инструкция SQL выбирает все продукты с ценой от 10 до 20 и, одновременно, не показывает продукты из CategoryID 1, 2 или 3:
Run SQLSELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID NOT IN (1,2,3)
Следующая SQL-инструкция выбирает все продукты из ProductName между "Carnarvon Tigers" и "Mozzarella di Giovanni":
Run SQLSELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName
Следующая SQL-инструкция выбирает все продукты из ProductName между "Carnarvon Tigers" и "Chef Anton's Cajun Seasoning":
Run SQLSELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Chartreuse verte'
ORDER BY ProductName
Следующая SQL-инструкция выбирает все продукты из ProductName не среди "Carnarvon Tigers" и "Mozzarella di Giovanni":
Run SQLSELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName
Ниже приведена выборка из таблицы "Orders" ("Заказ"):
ProductID | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|---|
1 | 10248 | 90 | 5 | 1996-07-04 | 3 |
2 | 10249 | 81 | 6 | 1996-07-05 | 1 |
3 | 10250 | 34 | 4 | 1996-07-08 | 2 |
4 | 10251 | 84 | 3 | 1996-07-08 | 1 |
5 | 10252 | 76 | 4 | 1996-07-09 | 2 |
Следующая инструкция SQL выбирает все заказы (Orders) из OrderDate между '01-July-1996' и '31-July-1996':
SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#
или:
Run SQLSELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31'