Программирование

Выбор данных в диапазонах в SQL

Язык структурированных запросов (SQL) предоставляет пользователям базы данных возможность создавать настраиваемые запросы для извлечения информации из баз данных. В предыдущей статье мы рассмотрели извлечение информации из базы данных с помощью запросов SQL SELECT . Давайте углубимся в это обсуждение и рассмотрим, как вы можете выполнять расширенные запросы для извлечения данных, соответствующих определенным условиям .
Давайте рассмотрим пример, основанный на широко используемой   базе данных Northwind , которая часто поставляется с продуктами базы данных в качестве учебного пособия.

Вот выдержка из таблицы продуктов базы данных: 

Идантификационный номер продукта Наименование товара SupplierID QuantityPerUnit Цена за единицу товара UnitsInStock
1 Chai 1 10 коробок х 20 мешков 18,00 39
2 Чанг 1 Бутылки на 24 — 12 унций 19,00 17
3 Анисовый сироп 1 12 — 550 мл флаконы 10,00 13
4 Cajun Приправа шеф-повара Антона 2 Банки на 48 — 6 унций 22,00 53
5 Шеф-повар Антон Гамбо Микс 2 36 коробок 21,35 0
6 Бабушкин Бойзенберри Спред 3 Банки на 12 — 8 унций 25,00 120
7 Органические сушеные груши дяди Боба 3 12 — 1 фунт фунтов. 30,00 15
Таблица продуктов

Простые граничные условия

Первые ограничения, которые мы наложим на наш запрос, касаются простых граничных условий. Мы можем указать их в предложении WHERE запроса SELECT, используя простые операторы условия, созданные с помощью стандартных операторов, таких как <,>,> = и <=.

Во-первых, давайте попробуем простой запрос, который позволит нам извлечь список всех продуктов в базе данных, у которых UnitPrice превышает 20,00:

ВЫБЕРИТЕ ProductName, UnitPrice 
ИЗ продуктов,
ГДЕ UnitPrice> 20,00

Это создает список из четырех продуктов, как показано ниже:

ProductName UnitPrice 
------- --------
Шеф-повар Антон Гамбо Микс 21,35
Шеф-повар Антон
Каджун Приправа 22,00 Бабушкин Бойзенберри Спред 25,00
Органические сушеные груши дяди Боба 30,00

Мы также можем использовать предложение WHERE со строковыми значениями. Это в основном приравнивает символы к числам, где A представляет значение 1, а Z представляет значение 26. Например, мы могли бы показать все продукты с именами, начинающимися с U, V, W, X, Y или Z, с помощью следующего запроса:

ВЫБЕРИТЕ ProductName 
ИЗ ПРОДУКТОВ,
ГДЕ ProductName> = 'T'

Который дает результат:

ProductName 
-------
Органические сушеные груши дяди Боба

Выражение диапазонов с использованием границ

Предложение WHERE также позволяет нам реализовать условие диапазона для значения, используя несколько условий. Например, если мы хотим взять наш запрос выше и ограничить результаты продуктами с ценами от 15.00 до 20.00, мы могли бы использовать следующий запрос:

ВЫБЕРИТЕ ProductName, UnitPrice 
ИЗ продуктов,
ГДЕ UnitPrice> 15,00 И UnitPrice <20,00

Это дает результат, показанный ниже:

ProductName UnitPrice 
------- --------
Чай 18.00
Чанг 19.00

Выражение диапазонов между

SQL также предоставляет сокращенный синтаксис BETWEEN, который уменьшает количество условий, которые мы должны включить, и делает запрос более читабельным. Например, вместо использования двух вышеупомянутых условий WHERE, мы могли бы выразить тот же запрос как:

ВЫБЕРИТЕ ProductName, UnitPrice 
ИЗ продуктов,
ГДЕ UnitRrice МЕЖДУ 15.00 И 20.00

Как и в случае с другими нашими условиями, BETWEEN также работает со строковыми значениями. Если бы мы хотели создать список всех стран, начинающихся с V, W или X, мы могли бы использовать запрос:

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика