<Условие поиска> (<search condition>)
Функция
Специфицирует условие, которое может быть "true", "false" или "unknown" в зависимости от результата применения булевских операторов к указанным условиям.
Формат
<search condition> ::=
<boolean term>
| <search condition> OR <boolean term>
<boolean term> ::=
<boolean factor>
| <boolean term> AND <boolean factor>
<boolean factor> ::=
[NOT] <boolean primary>
<boolean primary> ::=
<predicate> | (<search condition>)
Синтаксические правила
<Спецификация столбца> (<column specification>) или <выражение, вырабатывающее значение> (<value expression>), указанные в <условии поиска> (<search condition>), непосредственно содержатся в этом <условии поиска> (<search condition>), если <спецификация столбца> (<column specification>) или <выражение, вырабатывающее значение> (<value expression>) не указываются внутри <спецификации функции над множеством> (<set function specification>) или <подзапроса> (<subquery>) этого <условия поиска> (<search condition>).
Общие правила
Результат получается применением указанных булевских операторов к условиям, являющимся результатами применения каждого указанного <предиката> (<predicate>) к данной строке таблицы или данной группе сгруппированной таблицы. Если булевские операторы не указаны, то результатом <условия поиска> (<search condition>) является результат указанного <предиката> (<predicate>).
NOT(true) есть false, NOT(false) есть true и NOT(unknown) есть unknown. AND и OR определяются следующими таблицами истинности:
ЪДДДДДДДДВДДДДДДДДВДДДДДДДДВДДДДДДДї
іAND іtrue іfalse іunknownі
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іtrue іtrue іfalse іunknownі
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іfalse іfalse іfalse іfalse і
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іunknown іunknown іfalse іunknownі
АДДДДДДДДБДДДДДДДДБДДДДДДДДБДДДДДДДЩ
ЪДДДДДДДДВДДДДДДДДВДДДДДДДДВДДДДДДДї
іOR іtrue іfalse іunknownі
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іtrue іtrue іtrue іtrue і
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іfalse іtrue іfalse іunknownі
ГДДДДДДДДЕДДДДДДДДЕДДДДДДДДЕДДДДДДДґ
іunknown іtrue іunknown іunknownі
АДДДДДДДДБДДДДДДДДБДДДДДДДДБДДДДДДДЩ
Сначала вычисляются выражения в скобках. Когда порядок вычисления не определяется скобками, NOT применяется перед AND, AND применяется перед OR, и операторы с одинаковым уровнем предшествования применяются слева направо.
Когда <условие поиска> (<search condition>) применяется к строке таблицы, каждая ссылка на столбец этой таблицы через <спецификацию столбца> (<column specification>), прямо содержащуюся в <условии поиска> (<search condition>), является ссылкой на значение этого столбца в этой строке.
Содержание раздела