Введение в стандарты языка баз данных SQL

       

Условие поиска


Условие поиска принимает значения 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>

Пояснения:

  • Если условие поиска не содержит булевских операторов, то результат его вычисления совпадает с результатом составляющего его простого условия, задаваемого одним из перечисленных выше предикатов.
  • NOT(true) есть false, NOT(false) есть true и NOT(unknown) есть unknown. Правила применения других булевских операторов задаются следующими таблицами истинности:
  • Таблица истинности для оператора AND

     truefalseunknown
    truetruefalseunknown
    falsefalsefalsefalse
    unknownunknownfalseunknown

    Таблица истинности для оператора OR

     truefalseunknown
    truetruetruetrue
    falsetruefalseunknown
    unknowntrueunknownunknown

    Таблица истинности для оператора IS

     truefalseunknown
    truetruetruefalse
    falsefalsetruefalse
    unknownfalsefalseunknown



    Содержание раздела