Наличие предложения в SQL

Nalicie Predlozenia V Sql



Этот учебник призван помочь вам понять и использовать предложение 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 ;


В этом случае запрос должен вернуть таблицу следующего вида: