Этот учебник призван помочь вам понять и использовать предложение HAVING в операторах SQL.
Давайте погрузимся.
SQL с пунктом
Предложение HAVING в SQL позволяет вам установить условие в группах, определенных в предложении SQL GROUP BY.
Вы можете использовать предложение GROUP BY для организации данных в различные разделы в SQL. Вы можете выполнять несколько действий над группами, например агрегатные функции.
Используя предложение HAVING, вы можете указать условие для групп. Однако вы можете использовать предложение HAVING без пары GROUP BY. В таком случае предложение HAVING будет вести себя аналогично предложению WHERE, которое позволяет вам искать совпадающие записи.
Следующий фрагмент кода определяет синтаксис предложения SQL HAVING:
ВЫБЕРИТЕ столбцыОТ имя_таблицы
СГРУППИРОВАТЬ ПО group_by_clause
ИМЕЕТ group_condition;
Пример 1: Использование предложения HAVING с таблицей фильмов
Чтобы лучше понять, как использовать предложение HAVING в SQL, мы будем использовать образец базы данных, предоставленный MySQL.
Вы можете проверить следующий предоставленный ресурс для получения дополнительной информации:
Для этой иллюстрации мы будем использовать таблицу фильмов из базы данных sakila, которая представлена по данной ссылке.
Мы можем найти фильмы с прокатным рейтингом 2,99 и выше, используя предложение HAVING, как показано в следующем запросе:
Выбрать название, год_выпуска, рейтинг, арендная_ставкаиз фильма
группировать по рейтингу
с арендной_ставкой > знак равно 2,99 ;
В результате таблица выглядит следующим образом:
В этом случае запрос находит 4 совпадающие записи, как показано в предыдущей таблице.
Пример 2. Использование предложения HAVING с агрегатной функцией
Мы также можем использовать функцию sum() для определения фильма по сумме рейтингов фильмов с определенным диапазоном rent_rate.
Выбрать название, год выпуска, рейтинг, арендная_ставка, сумма ( арендная плата )из фильма
группировать по рейтингу
имея сумма ( арендная плата ) между 500 а также 600 ;
В этом случае запрос должен вернуть таблицу следующего вида: