Системы обработки информации - язык баз данных SQL

       

<Предикат с квантором> (<quantified predicate>)


Функция

Специфицирует сравнение с квантором.

Формат

<quantified predicate> ::=

<value expression>

<comp op> <quantifier> <subquery>

<quantifier> ::=

<all> | <some>

<all> ::= ALL

<some> ::= SOME | ANY

Синтаксические правила

  • Типы данных <выражения, вырабатывающего значение> (<value expression>) и <подзапроса> (<subquery>) должны быть сравнимы.
  • Общие правила

  • Пусть x обозначает результат <выражения, вырабатывающего значение> (<value expression>) и пусть S обозначает результат <подзапроса> (<subquery>).
  • Результат "x <comp op> <quantifier> S" вырабатывается путем применения подразумеваемого <предиката сравнения> (<comparison predicate>) "x <comp op> s" к каждому значению S:


    a) Если S пусто или если значение подразумеваемого <предиката сравнения> (<comparison predicate>) равно true для каждого значения s в S, то значение "x <comp op> <all> S" есть true.


    b) Если значение подразумеваемого <предиката сравнения> (<comparison predicate>) равно false хотя бы для одного значения s в S, то значение "x <comp op> <all> S" есть false.


    c) Если значение подразумеваемого <предиката сравнения> (<comparison predicate>) равно true хотя бы для одного значения s в S, то значение "x <comp op> <some> S" есть true.


    d) Если S пусто или если значение подразумеваемого <предиката сравнения> (<comparison predicate>) равно false для каждого значения s в S, то значение "x <comp op> <some> S" есть false.


    e) Если результатом "x <comp op> <quantifier> S" не является ни true, ни false, то результатом является unknown.



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