Оператор between. AND

Оператор BETWEEN...AND применяется для отбора записей, в которых значения поля находятся внутри заданного диапазона. Границы диапазона включаются в усло­вие отбора.

Чтобы продемонстрировать работу этого оператора, вернемся к таблице Товары и выберем в ней товары, цена которых находится в диапазоне от 200 до 2000. Для этого сформируем следующий запрос:

SELECT *

FROM Товары

WHERE Цена BETWEEN 200 AND 2000

Результаты, возвращенные при выполнении данного запроса, приведены на рис. 9.

Рис. 9. Пример использования оператора BETWEEN...AND

Оператор IN

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

Выберем из таблицы Клиенты клиентов, которые живут в Беларуси, Украине или Казахстане:

SELECT Фамилия. Имя. Отчество. Страна

FROM Клиенты

WHERE Страна IN ('Беларусь'.'Украина'.'Казахстан')

Результат выполнения данного запроса показан на рис. 10.

Рис. 10. Пример использования оператора IN

Оператор LIKE

Оператор LIKE применяется для сравнения значения поля со значением, за­данным при помощи шаблонов. Для задания шаблонов используются два сим­вола:

□ знак процента (%) — заменяет последовательность символов любой (в том чис­ле и нулевой) длины;

□ символ подчеркивания (_) — заменяет любой символ.

Найдем в таблице Клиенты записи, в которых фамилия клиента начинается с бук­вы «М»:

SELECT Фамилия, Имя. Отчество. Телефон FROM Клиенты WHERE Фамилия LIKE 'МГ

В результате выполнения этого запроса будет выбрано 4 записи (рис. 11).

Рис. 11. Использование оператора LIKE с шаблоном в виде символа процента

А теперь найдем в этой же таблице записи, для которых номер телефона начинает­ся с символов (816)025-61, а две последние цифры неизвестны:

SELECT Фамилия. Имя. Отчество, Телефон

FROM Клиенты

WHERE Телефон LIKE '(816)025-61 '

При выполнении данного запроса будут отобраны две записи (рис. 12).

Рис. 12. Использование оператора LIKE с шаблоном в виде символа подчеркивания

Оператор EXISTS

Оператор EXISTS используется для отбора записей, соответствующих заданному критерию.

Для иллюстрации работы оператора EXISTS рассмотрим следующий пример. Из таблицы Товары требуется отобрать товары, количество продаж которых превыша­ет 10. Сведения о продажах содержатся в поле Продано таблицы Продажи. Для по­лучения необходимой выборки воспользуемся оператором EXISTS:

SELECT Наименование, Цена

FROM Товары

WHERE EXISTS (SELECT [Код товара]

FROM Продажи

WHERE (Продажи.Продано>10) AND

Товары.[Код товара]=Продажи.[Код товара])

В этом запросе после ключевого слова EXISTS следует оператор SELECT, отбираю­щий из таблицы Продажи записи, для которых количество продаж превышает 10. Оператор EXISTS отбирает из таблицы Товары записи, в которых значение поля Код товара соответствует записям, отобранным из таблицы Продажи. Результат выпол­нения данного запроса приведен на рис.13.

Рис.13. Пример использования оператора EXISTS

При использовании оператора EXISTS (а также еще трех логических операторов: UNIQUE, ALL и ANY) применяется подзапрос — оператор SELECT, следующий за ключевым словом EXISTS и заключенный в круглые скобки. Более подробно под­запросы будут рассмотрены далее.

Оператор UNIQUE

Оператор UNIQUE используется для проверки записи таблицы на уникальность. По своему действию он аналогичен оператору EXISTS. Единственное отличие заключа­ется в том, что подзапрос, задаваемый после ключевого слова UNIQUE, не должен возвращать более одной записи.

Оператор ALL

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

Например, для того чтобы выбрать из таблицы Товары те товары, которые имеют цену большую, чем цена всех товаров, проданных в количестве более 10, использу­ется следующий запрос:

SELECT *

FROM Товары

WHERE Цена>АLL (SELECT Продажи.Цена

FROM Продажи

WHERE Продажи.Продано>10)

Результат выполнения данного запроса приведен на рис. 14.

Рис. 14. Пример использования оператора ALL

Оператор ANY

Оператор ANY применяется для сравнения заданного значения с каждым из значе­ний некоторого набора данных. Если в предыдущем примере заменить оператор ALL оператором ANY, то будет возвращен список товаров, цена которых больше, чем хотя бы у одного из товаров, проданных в количестве больше 10. Результат выпол­нения такого запроса показан на рис. 15.

.

Рис. 15. Пример использования оператора ANY


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: