6/10/2016

Оператор HAVING

Оператор HAVING указывает условие на результатах агрегатных функций. Оператор HAVING аналогичен оператору WHERE, но только для GROUP BY. По этому есть некая последовательность:


 SELECT column [AS ALIAS]
 FROM table
 WHERE [NOT] conditions [AND, OR]
 GROUP BY column
 HAVING conditions

Если параметр GROUP BY для SELECT не задан, то HAVING применяется к группе всех строк таблицы, как оператор WHERE.

Пример 1.
 SELECT title, SUM(salary) FROM emp
 GROUP BY title
 HAVING SUM(salary) > 2000;

 TITLE                     SUM(SALARY)
 ------------------------- -----------
 President                 2500
 Sales Representative      7380
 Stock Clerk               9490
 Warehouse Manager         6157

Комментарий: 
Принцип действия предложения HAVING заключается в следующем: при создании каждой группы (с помощью GROUP BY) рассчитывается сумма прибыли (SUM (SALARY)) для этой группы. Логическое условие проверяется с помощью предложения HAVING, если условие возвращает  true, группа включается в результат.

Комментариев нет :

Отправить комментарий