HAVING оператор

Этот SQL учебник объясняет, как использовать SQL HAVING с синтаксисом и примерами.

Описание

SQL оператор HAVING используется в сочетании с GROUP BY, чтобы ограничить группы возвращаемых строк, только тех, чьи условия истинны.

Синтаксис

SELECT expression1, expression2, ... expression_n,
aggregate_function (aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n
HAVING condition;

Параметры или аргументы

expression1, expression2, ... expression_n - выражения, которые не входят в aggregate_function и должны быть включены в предложение GROUP BY в конце оператора SQL.

aggregate_function - это функция, такая как SUM, COUNT, функции MIN, MAX или AVG.

aggregate_expression – это столбец или выражение, которое используется в aggregate_function.

tables – таблицы из которых вы хотите выгрузить данные. После оператора FROM должна быть указана хотя бы одна таблица.

WHERE conditions. Необязательный. Условия, которые должны быть выполнены для выбранных записей.

HAVING condition. Это еще одно условие применяется только к агрегированным результатам, чтобы ограничить группы возвращаемых строк. В набор результатов будут включены только те группы, состояние которых оценивается как TRUE.

Пример - Использование функции SUM

Рассмотрим на примере SQL HAVING, который использует функцию SUM.

Вы можете использовать функцию SUM, чтобы вернуть наименование department (отдела) и total sales (общий объем продаж в соответствующем отделе). SQL HAVING будет фильтровать результаты, так, что будут возвращены только department с total sales более $ 1000.

Пример - Использование функции COUNT

Рассмотрим, как можно использовать HAVING с помощью функции COUNT.

Вы можете использовать функцию COUNT, чтобы вернуть название department (отдела) и number of employees (численность работников в соответствующем отделе), которые делают более $ 25000 / год. SQL оператор HAVING будет фильтровать результаты, так что будут возвращены department с более чем 10 сотрудников.

Пример - Использование функции MIN

В следующем примере рассмотрим, как можно использовать HAVING с помощью функции MIN.

Можно также использовать функцию SQL MIN, чтобы вернуть название каждого department (отдела) и minimum salary (минимальную зарплату в отделе). SQL оператор HAVING будет возвращать только те department, где minimum salary составляет более $ 35 000.

Пример - Использование функции MAX

И, наконец, рассмотрим, как можно использовать HAVING с помощью функции MAX.

Вы можете также использовать функцию MAX, чтобы вернуть название каждого department (отдела) и maximum salary (максимальную зарплату в отделе). SQL оператор HAVING будет возвращать только те department, где maximum salary менее $ 50000.