Операторы объединения и отрицания


Содержание лекционного занятия:

  •  Операторы объединения
  •  Оператор отрицания

Операторы объединения

Часто при написании запроса на выборку данных требуется задать сложное усло­вие, для которого одного оператора недостаточно. В этом случае несколько усло­вий объединяются с помощью специальных операторов. В 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. Как реализован в SQL квантор существования?
  2. Как реализован в SQL квантор всеобщности?
  3. Какие существуют средства группирования в SQL? Как они используются?

Рекомендуемая литература:

  1. Конноли Т., Бегг К., Страган А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2 – е изд.: Уч. пос. – М.: Изд. дом «Вильямс», 2000. – 1120с.
  2. Компьютерные технологии обработки информации: Учебное пособие.– М.: Финансы и статистика. 1995. – 248с.