Логические операторы
Оператор IS NULL
Оператор IS NULL предназначен для сравнения текущего значения поля со значением NULL.
Он используется для отбора записей, в некоторое поле которых не занесено никакого значения.Для иллюстрации использования этого оператора воспользуемся таблицей Клиенты. С помощью приведенного ниже запроса произведем выборку из нее записей, в которых не указано название предприятия:
SELECT Фамилия. Имя. Отчество. Телефон. Город. Адрес FROM Клиенты
WHERE Предприятие IS NULL
Результат выполнения запроса показан на рис. 11.8.
Результат выполнения данного запроса показан на рис.
11.10.Оператор LIKE
Оператор LIKE применяется для сравнения значения поля со значением, заданным при помощи шаблонов. Для задания шаблонов используются два символа:
? знак процента (%) — заменяет последовательность символов любой (в том числе и нулевой) длины;
? символ подчеркивания (_) — заменяет любой символ.
Найдем в таблице Клиенты записи, в которых фамилия клиента начинается с буквы «М»:
SELECT Фамилия. Имя. Отчество, Телефон
FROM Клиенты
WHERE Фамилия LIKE 'МГ
В результате выполнения этого запроса будет выбрано 4 записи (рис. 11.11).
Рис. 11.11. Использование оператора LIKE с шаблоном в виде символа процента |
А теперь найдем в этой же таблице записи, для которых номер телефона начинается с символов (816)025-61, а две последние цифры неизвестны:
SELECT Фамилия. Имя. Отчество. Телефон FROM Клиенты
WHERE Телефон LIKE ' (816)025-61_'
При выполнении данного запроса будут отобраны две записи (рис. 11.12).
Рис. 11.12. Использование оператора LIKE с шаблоном в виде символа подчеркивания |
Оператор EXISTS
Оператор EXISTS используется для отбора записей, соответствующих заданному критерию.
Для иллюстрации работы оператора EXISTS рассмотрим следующий пример. Из таблицы Товары требуется отобрать товары, количество продаж которых превышает 10. Сведения о продажах содержатся в поле Продано таблицы Продажи. Для получения необходимой выборки воспользуемся оператором EXISTS:
SELECT Наименование. Цена FROM Товары
WHERE EXISTS (SELECT [Код товара]
FROM Продажи
WHERE (Продажи.Продано>10) AND Товары.[Код товара]=Продажи.[Код товара])
В этом запросе после ключевого слова EXISTS следует оператор SELECT, отбирающий из таблицы Продажи записи, для которых количество продаж превышает 10. Оператор EXISTS отбирает из таблицы Товары записи, в которых значение поля Код товара соответствует записям, отобранным из таблицы Продажи. Результат выполнения данного запроса приведен на рис. 11.13.
Рис. 11.13. Пример использования оператора EXISTS |
ПРИМЕЧАНИЕ ------------------------------------------------------------------------------
При использовании оператора EXISTS (а также еще трех логических операторов: UNIQUE, ALL и ANY) применяется подзапрос — оператор SELECT, следующий за ключевым словом EXISTS и заключенный в круглые скобки.
Более подробно подзапросы будут рассмотрены далее.Оператор UNIQUE
Оператор UNIQUE используется для проверки записи таблицы на уникальность. По своему действию он аналогичен оператору EXISTS. Единственное отличие заключается в том, что подзапрос, задаваемый после ключевого слова UNIQUE, не должен возвращать более одной записи.
Оператор ALL
Оператор ALL используется для сравнения исходного значения со всеми другими значениями, входящими в некоторый набор данных.
Например, для того чтобы выбрать из таблицы Товары те товары, которые имеют цену большую, чем цена всех товаров, проданных в количестве более 10, используется следующий запрос:
SELECT *
FROM Товары
WHERE Цена>АИ (SELECT Продажи.Цена FROM Продажи
WHERE Продажи.Продано>10)
Результат выполнения данного запроса приведен на рис. 11.14.
Рис. 11.14. Пример использования оператора ALL |
Оператор ANY
Оператор ANY применяется для сравнения заданного значения с каждым из значений некоторого набора данных. Если в предыдущем примере заменить оператор ALL оператором ANY, то будет возвращен список товаров, цена которых больше, чем хотя бы у одного из товаров, проданных в количестве больше 10. Результат выполнения такого запроса показан на рис. 11.15.
Еще по теме Логические операторы:
- ОШИБКА ОПЕРАТОРА
- ДЕЯТЕЛЬНОСТЬ ОПЕРАТОРА
- ОПЕРАТОР
- ОПЕРАТОР: ПРИЕМ ИНФОРМАЦИИ
- ОПЕРАТОР: НАДЕЖНОСТЬ
- ОПЕРАТОР: ПОМЕХОУСТОЙЧИВОСТЬ
- Профессия оператора: между техникой и искусством
- Логическое ударение
- МЫШЛЕНИЕ СЛОВЕСНО-ЛОГИЧЕСКОЕ
- Логическая последовательность вопросов
- 3.2.4. Логический анализ основных понятий
- 3.9. Логические ошибки
- По единому логическому основанию