Здесь определён список различных типов предиката <predicate>, описанных на следующих страницах:
<predicate> ::= [NOT]
{ <comparison predicate> | <in predicate> | <null predicate> | <between predicate> | <like predicate> | <quantified predicate> | <exists predicate> } [ANDI OR <predicate> ] <predicate> - это выражение, которое может быть true, false или неизвестным, за исключением
<exists predicate> и <null predicate>, которые могут быть только верными или неверными.
Будет получено "неизвестно", если NULL-значения предотвращают вывод полученного ответа. Это будет случаться всякий раз, когда NULL-значение сравнивается с любым значением. Стандартные булевы операторы - AND, OR и NOT - могут использоваться с предикатом. NOT true = false, NOT false = true, а NOT неизвестно = неизвестно. Результаты AND и OR в комбинации с предикатами, показаны в следующих таблицах:
AND AND True False Неизвестно True true false неизвестноFalse false false falseНеизвестно неизвестно false неизвестно OR OR True False Неизвестно True true true trueFalse true false неизвестноНеизвестно true неизвестно неизвестно Эти таблицы читаются способом, наподобие таблицы умножения: вы объединяете верные, неверные, или неизвестные значения из строк с их столбцами, чтобы на перекрестье получить результат. В таблице AND, например, третий столбец (Неизвестно) и первая строка (Тrue) на пересечении в верхнем правом углу дают результат - неизвестно, другими словами: Верно AND Неизвестно = неизвестно. Порядок вычислений определяется круглыми скобками. Они не представляются каждый раз. NOT оценивается первым, далее AND и OR. Различные типы предикатов <predicate> рассматриваются отдельно в следующем разделе.
<comparison predicate> (предикат сравнения)