HAVING оператор SQLite

В этом учебном пособии вы узнаете, как использовать SQLite оператор HAVING с синтаксисом и примерами.

Описание

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

Синтаксис

Синтаксис оператора HAVING в SQLite:

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
Выражения, которые не заключены в агрегатную функцию и должны быть включены в оператор GROUP BY.

aggregate_function
Такие функции, как sum, count, min, max или avg.

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

tables
Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.

WHERE conditions
Необязательный. Это условия для выбора записей.

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

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

Рассмотрим пример, который показывает, как использовать оператор HAVING с функцией sum в SQLite.

Вы можете использовать функцию sum, чтобы вернуть department и общую зарплату (для этого department). SQLite оператор HAVING будет фильтровать результаты, так что будут возвращены только department с общей зарплатой, превышающей 10000 $.

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

Рассмотрим, как использовать оператор HAVING с функцией count в SQLite.

Вы можете использовать функцию count, чтобы получить информацию об department и количестве сотрудников (для этого department), для которых в state указано 'Nevada'. SQLite HAVING будет фильтровать результаты, так что будут возвращены только department с более чем 20 сотрудниками в штате 'Nevada'.

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

Теперь посмотрим, как использовать оператор HAVING с функцией min в SQLite.

Вы также можете использовать функцию min для возврата названия каждого department и минимальной зарплаты в department. SQLite оператор HAVING вернет только те department, где минимальная зарплата составляет менее 20000$.

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

Наконец, давайте посмотрим, как использовать оператор HAVING с функцией max в SQLite.
Например, вы также можете использовать функцию max, чтобы вернуть название каждого department и максимальную зарплату в department, где для сайта favourite_web сотрудника указано 'Google.com'. SQLite HAVING будет возвращать только те department, чья максимальная зарплата больше или равна 30000$.