Часто при написании запроса на выборку данных требуется задать сложное условие, для которого одного оператора недостаточно. В этом случае несколько условий объединяются с помощью специальных операторов. В SQL их два — это операторы AND и OR.
□ Оператор AND используется в тех случаях, когда необходимо отобрать записи, соответствующие нескольким условиям, причем для каждой записи, включаемой в результат выборки, должны выполняться все заданные ограничения. Оператор AND объединяет несколько условий путем выполнения операции логического умножения результатов всех заданных ограничений. Результат true, соответственно, будет получен только в том случае, если все объединяемые условия принимают значение true.
□ Оператор OR выполняет операцию логического сложения результатов всех заданных условий. При использовании данного оператора запись включается в результирующую выборку в случае выполнения хотя бы одного из заданных ограничений.
При использовании операторов объединения каждое логическое выражение следует заключать в круглые скобки. Для примера произведем выборку данных о товарах, цена которых больше 50, но меньше 1000:
|
|
SELECT *
FROM Товары
WHERE (Цена>50) ANO (Цена<1000)
Результат выполнения запроса приведен на рис. 16.
Рис. 16. Пример использования оператора AND
Синтаксические правила использования оператора OR такие же, как и для оператора AND. Следующий запрос возвратит список товаров, цена которых меньше 50 или больше 1000 (рис. 17):
SELECT *
FROM Товары
WHERE Цена<50) OR Цена>1000)
Рис. 17. Пример использования оператора OR
Оператор отрицания
Для каждого из рассматриваемых операторов может быть выполнена операция отрицания, меняющая результат выполнения оператора на противоположный. Для реализации этой операции используется оператор NOT. Ниже приведены примеры применения этого оператора к логическим операторам:
IS NOT NULL NOT BETWEEN NOT IN NOT LIKE NOT EXISTS NOT UNIQUE
Вопросы для самоконтроля:
1. Простейшая форма оператора SELECT
2. Задание условий при выборке данных
3. Компоненты TQuery и TDataSource
4. Операторы сравнения
5. Логические операторы IS NULL, BETWEEN...AND, IN, LIKE, EXISTS, UNIQUE, ALL, ANY