Условие поиска
Условие поиска принимает значения true, false или unknown в зависимости от результата применения булевских операторов к составляющим его простым условиям. Синтаксис и семантика условия поиска в SQL/92 практически такие же, как в SQL/89, но в стандарте SQL/92 более четко специфицирована трехзначная логика, в которой происходит вычисление условия поиска. Синтаксис определяется следующими правилами:
<search condition> ::= <boolean term> |<search condition> OR <boolean term> <boolean term> ::= <boolean factor> |<boolean term> AND <boolean factor> <boolean factor> ::= [ NOT ] <boolean test> <boolean test> ::= <boolean primary> [ IS [ NOT ] <truth value> ] <truth value> ::= TRUE |FALSE |UNKNOWN <boolean primary> ::= <predicate> | <left paren> <search condition> <right paren>
Пояснения:
Таблица истинности для оператора 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 |
Таблица истинности для оператора IS
| true | false | unknown | |
| true | true | true | false |
| false | false | true | false |
| unknown | false | false | unknown |