Как и при использовании ключевого слова ANY, в запросе с ключевым словом ANY вложенный запрос может быть только правым операндом для оператора сравнения.
Итак, вы рассмотрели операторы сравнения и научились применять их для обработки результатов вложенных запросов. Теперь перейдем к изучению логических операторов, с помощью которых можно создавать составные условия отбора.
Логические операторы
Логические операторы позволяют построить сложное условие отбора на основе операторов сравнения. Операнды логических операторов рассматриваются как логические значения: TRUE, FALSE и NULL. При этом число 0 и нулевая дата и/или время («0000-00-00 00:00:00») считаются ложными значениями (FALSE), а отличные от нуля числа и даты – истинными значениями (TRUE) (более подробно об этом рассказывалось в пункте «Оператор х IS у, где
Оператор AND («и») возвращает следующие значения:
• 1 (TRUE) – если оба операнда – истинные значения;
• 0 (FALSE) – если один или оба операнда – ложные значения;
• NULL – в остальных случаях.
Иными словами, если вы соединили два условия отбора с помощью оператора AND, то составное условие выполняется только тогда, когда выполняются одновременно оба составляющих условия.
Например, запросне выводит ни одной строки. В таблице Customers (Клиенты) есть имена, начинающиеся с «ООО», и рейтинги, превышающие 1000, но ни одна из строк не удовлетворяет обоим этим условиям одновременно.
Пара символов && является синонимом оператора AND. Следующий оператор, который мы рассмотрим, – это оператор OR.
Оператор x OR yОператор OR («или») возвращает следующие значения:
• 1 (TRUE) – если один или оба операнда – истинные значения;
• 0 (FALSE) – если оба операнда – ложные значения;
• NULL – в остальных случаях.
Иными словами, если вы соединили два условия отбора с помощью оператора OR, то составное условие выполняется, если выполняется хотя бы одно из составляющих условий.
Например, запросвыводит строки таблицы Customers (Клиенты), в которых имя начинается с «ООО», а также строки, в которых рейтинг больше 1000 (см. табл. 3.6). Пара символов | |является синонимом оператора OR. Следующий оператор, который мы рассмотрим, – это оператор XOR. Оператор x XOR y
Оператор XOR («исключающее или») возвращает следующие значения:
• 1 (TRUE) – если один из операндов – истинное значение, а другой – ложное;
• 0 (FALSE) – если оба операнда либо истинные значения, либо ложные;
• NULL – если хотя бы один из операндов равен NULL.
Иными словами, если вы соединили два условия отбора с помощью оператора XOR, то составное условие выполняется, если выполняется