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

       

<Раздел having> (<having clause>)


Функция

Специфицирует ограничение на сгруппированную таблицу, являющуюся результатом предыдущего <раздела group by> (<group by clause>) или <раздела from> (<from clause>), путем исключения групп, не удовлетворяющих <условию поиска> (<search condition>).

Формат

<having clause> ::=

HAVING <search condition>

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

  • Пусть T обозначает описание результат предшествующего <раздела from> (<from clause>), <раздела where> (<where clause>) или <раздела group by> (<group by clause>). Каждая <спецификация столбца> (<column speification>), непосредственно содержащаяся в <условии поиска> (<search condition>), должна недвусмысленно указывать на столбец группирования T или являться внешней ссылкой.


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

  • Каждая <спецификация столбца> (<column specification>), содержащаяся в <подзапросе> (<subquery>) в <условии поиска> (<search condition>) и указывающая на столбец T, должна ссылаться на столбец группирования T или должна быть специфицирована внутри <спецификации функции над множеством> (<set function specification>).
  • Общие правила

  • Пусть R обозначает результат предшествующего <раздела from> (<from clause>), <раздела where> (<where clause>) или <раздела group by> (<group by clause>). Если этот раздел не есть <раздел group by> (<group by clause>), то R состоит из одной группы и не обладает столбцом групирования.
  • <Условие поиска> (<search condition>) прмменяется к каждой группе R. Результат <раздела having> (<having clause>) является сгруппированной таблицей, содержащей те группы из R, для которых результат <условия поиска> (<search condition>) есть true.
  • Когда <условие поиска> (<search condition>) применяется к данной группе R, эта группа является аргументом или источником аргумента каждой <спецификации функции над множеством> (<set funtion specification>), прямо содержащейся в <условии поиска> (<search condition>), если только <спецификация столбца> (<column specification>) в <спецификации функции над множеством> (<set function specification>) не является внешней ссылкой.


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

  • Каждый <подзапрос> (<subquery>) в <условии поиска> (<search condition>) фактически вычисляется для каждой группы R и результат используется при применении <условия поиска> (<search condition>) к данной группе R. Если какой-либо <подзапрос> (<subquery>) содержит внешнюю ссылку на столбец R, то эта ссылка указывает на значения этого столбца в данной группе R.


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

  • | |



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