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


<Спецификация функции над множеством> (<set function specification>) - часть 2


  • Если <спецификация функции над множеством> (<set function specification>) содержит <спецификацию столбца> (<column specificaton>), являющуюся внешней ссылкой, то <спецификации функции над множеством> (<set function specification>) должна содержаться в <подзапросе> (<subquery>) <статьи having> (<having clause>).


    Замечание: "Внешняя ссылка" определяется в 5.7, "<Спецификация столбца> (<column specifiction">).

  • Пусть T тип данных значений, являющихся результатами вычисления <спецификации столбца> (<column specification>) или <выражения, вырабатывающего значение> (<value expression>).
  • Если указывается COUNT, то тип данных результата <спецификации функции над множеством> (<set function specification>) - это тип точных чисел с определенной в реализации точностью и масштабом 0.
  • Если указывается MAX или MIN, то тип данных результата есть T.
  • Если указывается SUM или AVG, то:


    a) тип T не должен быть типом символьных строк.


    b) если указывается SUM и T - тип точных чисел с масштабом S, то тип данных результата - тип точных чисел с определенной в реализации точностью и масштабом S.


    c) если указывается AVG и T - тип точных чисел с масштабом S, то тип данных результата - тип точных чисел с определенными в реализации точностью и масштабом.


    d) если T - тип приблизительных чисел, то тип результата - тип приблизительных чисел с определенной в реализации точностью.

  • Общие правила

    1. Аргументом <функции над различными элементами множества> (<distinct set function>) является множество значений. Это множество получается путем удаления неопределенных значений и всех избыточных дублирующих значений из столбца R, на который ссылается <спецификация столбца> (<column specification>).
    2. Аргументом <функции надо всеми элементами множества> (<all set function>) является мультимножество значений. Это мультимножество получается путем удаления всех неопределенных значений из результата применения <выражения, вырабатывающего значение> (<value expression>) к каждой строке R. Указание или неуказание ALL не влияет на смысл <функции надо всеми элементами множества> (<all set function>).



    3. - Начало -  - Назад -  - Вперед -