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

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

Рассмотрим пример, основанный на обычно используемых Северный ветер database, который часто поставляется с продуктами баз данных в качестве учебного пособия.

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

Идантификационный номер продукта Наименование товара SupplierID QuantityPerUnit Цена за единицу Единицы
1 Чай 1 10 коробок х 20 пакетов 18.00 39
2 Чанг 1 Бутылки 24 - 12 унций 19.00 17
3 Анисовый сироп 1 12 бутылочек - 550 мл 10.00 13
4 Приправа для каджуна от шеф-повара Антона 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
Таблица продуктов
instagram viewer

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

Первые ограничения, которые мы наложим на наш запрос, связаны с простыми граничными условиями. Мы можем указать их в предложении 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'

Что дает результат:

Наименование товара

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

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

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

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

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

ProductName UnitPrice

Чай 18.00
Чанг 19.00

Выражение диапазонов с помощью BETWEEN

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

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

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

ВЫБЕРИТЕ ProductName
ИЗ продуктов
ГДЕ ProductName МЕЖДУ "A" и "D"

Что дает результат:

Наименование товара

Анисовый сироп
Чай
Чанг
Гамбо микс от шеф-повара Антона
Приправа для каджуна от шеф-повара Антона

Предложение WHERE - это мощная часть языка SQL, которая позволяет ограничивать результаты значениями, попадающими в указанные диапазоны. Он очень часто используется для выражения бизнес-логики и должен быть частью набора инструментов каждого специалиста по базам данных. Часто бывает полезно включить общие предложения в хранимую процедуру, чтобы сделать ее доступной для тех, кто не знает SQL.

instagram story viewer