SQL код скопирован в буфер обмена

SQLtest

- задачи по SQL

Тест на знание SQL, практика написания запросов, подготовка к собеседованиям, практические задания по SQL для начинающих и продвинутых
EN
Задание 5:
Создайте запрос SQL, чтобы найти клиентов, которые взяли напрокат больше фильмов, чем среднее количество прокатов среди всех клиентов. Используйте подзапрос для расчета среднего количества аренд.
Результирующая таблица должна содержать следующие столбцы: customer_id – уникальный идентификатор клиента, first_name – имя клиента, last_name — фамилия клиента.
rental_count — количество взятых напрокат фильмов

Напишите свой запрос в поле ниже и нажмите кнопку "Проверить!"

Для написания используйте синтаксис MySQL. Описания таблиц приведены в правой панели.

На нашем сайте представлено более 170 задач.

Выполните вход для сохранения вашего прогресса.

Описание базы данных Sakila

ER диаграмма базы данных Sakila

Sakila - это пример базы данных, разработанный компанией MySQL, специально созданный для обучения и демонстрации возможностей систем управления базами данных (СУБД) на основе реляционной модели.

База данных Sakila содержит 16 основных таблиц, описывающих различные аспекты компании по прокату DVD-дисков.

Ниже приведен список этих таблиц:

Таблица actor

Колонки:
  • actor_id - уникальный идентификатор для каждого актера.
  • first_name - имя актера.
  • last_name - фамилия актера.
  • last_update - временная метка создания или последнего обновления строки.
actor_id first_name last_name last_update
1 John Doe 2023-01-01 12:00:00

Таблица film

Колонки:
  • film_id – уникальный идентификатор каждого фильма.
  • title — название фильма.
  • description – краткое описание или сюжет фильма.
  • release_year — год выхода фильма.
  • language_id — внешний ключ, ссылающийся на таблицу language - определяет язык фильма.
  • original_language_id — внешний ключ, указывающий на таблицу language - определяет язык оригинала фильма. Используется, когда фильм дублирован на новый язык.
  • rental_duration — продолжительность периода аренды в днях.
  • rental_rate — стоимость проката фильма на период, указанный в столбце rental_duration.
  • length — продолжительность фильма в минутах.
  • replacement_cost — сумма, взимаемая с покупателя, если пленка не возвращена или возвращена в поврежденном состоянии.
  • rating — рейтинг, присвоенный фильму. Может быть одним из: G, PG, PG-13, R или NC-17.
  • special_features — список общих специальных функций, включенных в DVD. Может быть ноль или более: трейлеры, комментарии, удаленные сцены, за кадром.
  • last_update — временная метка создания или последнего обновления строки.
film_id title description release_year language_id original_language_id rental_duration rental_rate length replacement_cost rating special_features last_update
1 Film Title A brief description of the film. 2000 1 2 5 4.99 120 19.99 PG-13 Trailers, Commentaries 2023-01-01 12:00:00

Таблица film_text

Колонки:
  • film_id – уникальный идентификатор каждого фильма.
  • title - название фильма.
  • description - описание фильма.
film_id title description
1 Film Title A brief description of the film.

Таблица film_actor

Колонки:
  • actor_id – уникальный идентификатор актера.
  • film_id – уникальный идентификатор фильма.
  • last_update - временная метка создания или последнего обновления строки.
actor_id film_id last_update
1 1 2023-01-01 12:00:00

Таблица customer

Колонки:
  • customer_id – уникальный идентификатор для каждого клиента.
  • store_id - внешний ключ, ссылающийся на таблицу магазина.
  • first_name – имя клиента.
  • last_name – фамилия клиента.
  • email – адрес электронной почты клиента.
  • address_id - внешний ключ, ссылающийся на таблицу адресов.
  • active – указывает, активен ли клиент.
  • create_date - временная метка, указывающая, когда клиент был добавлен в базу данных.
  • last_update - временная метка создания или последнего обновления строки.
customer_id store_id first_name last_name email address_id active create_date last_update
1 1 John Doe john.doe@example.com 1 true 2023-01-01 12:00:00 2023-01-01 12:00:00

Таблица address

Колонки:
  • address_id - уникальный идентификатор для каждого адреса.
  • address – почтовый адрес.
  • address2 – дополнительный адрес.
  • district – район или регион.
  • city_id - внешний ключ, ссылающийся на таблицу городов.
  • postal_code – почтовый индекс.
  • phone – номер телефона.
  • last_update - временная метка создания или последнего обновления строки.
address_id address address2 district city_id postal_code phone last_update
1 123 Main St [null] Downtown 1 12345 +1234567890 2023-01-01 12:00:00

Таблица city

Колонки:
  • city_id – уникальный идентификатор для каждого города.
  • city - название города.
  • country_id - внешний ключ, ссылающийся на таблицу стран.
  • last_update - временная метка создания или последнего обновления строки.
city_id city country_id last_update
1 Metropolis 1 2023-01-01 12:00:00

Таблица country

Колонки:
  • country_id – уникальный идентификатор для каждой страны.
  • country – название страны.
  • last_update - временная метка создания или последнего обновления строки.
country_id country last_update
1 United States 2023-01-01 12:00:00

Таблица category

Колонки:
  • category_id – уникальный идентификатор для каждой категории.
  • name - название категории.
  • last_update - временная метка создания или последнего обновления строки.
category_id name last_update
1 Action 2023-01-01 12:00:00

Таблица film_category

Колонки:
  • film_id – уникальный идентификатор каждого фильма.
  • category_id – уникальный идентификатор для каждой категории.
  • last_update - временная метка создания или последнего обновления строки.
film_id category_id last_update
1 1 2023-01-01 12:00:00

Таблица language

Колонки:
  • language_id - уникальный идентификатор для каждого языка.
  • name - название языка.
  • last_update - временная метка создания или последнего обновления строки.
language_id name last_update
1 English 2023-01-01 12:00:00

Таблица staff

Колонки:
  • staff_id – уникальный идентификатор каждого сотрудника.
  • first_name – имя сотрудника.
  • last_name - фамилия сотрудника.
  • address_id - внешний ключ, ссылающийся на таблицу адресов.
  • picture – изображение сотрудника.
  • email - адрес электронной почты сотрудника.
  • store_id - внешний ключ, ссылающийся на таблицу магазина.
  • active – указывает, активен ли сотрудник.
  • username - имя пользователя для входа в систему.
  • password - пароль для входа.
  • last_update - временная метка создания или последнего обновления строки.
staff_id first_name last_name address_id picture email store_id active username password last_update
1 John Doe 1 [null] john.doe@example.com 1 true johndoe ******** 2023-01-01 12:00:00

Таблица staff_list

Колонки:
  • ID – уникальный идентификатор для каждой записи в списке сотрудников.
  • name – имя сотрудника.
  • address – адрес сотрудника.
  • zip code – почтовый индекс сотрудника.
  • phone – номер телефона сотрудника.
  • city - город сотрудника.
  • country – страна сотрудника.
  • SID – внешний ключ, ссылающийся на таблицу персонала.
ID name address zip code phone city country SID
1 John Doe 123 Main St 12345 +1234567890 Metropolis United States 1

Таблица store

Колонки:
  • store_id – уникальный идентификатор каждого магазина.
  • manager_staff_id - внешний ключ, ссылающийся на таблицу персонала менеджера магазина.
  • address_id - внешний ключ, ссылающийся на таблицу адресов.
  • last_update - временная метка создания или последнего обновления строки.
store_id manager_staff_id address_id last_update
1 1 1 2023-01-01 12:00:00

Таблица payment

Колонки:
  • payment_id – уникальный идентификатор для каждого платежа.
  • customer_id - внешний ключ, ссылающийся на таблицу клиентов.
  • staff_id - внешний ключ, ссылающийся на таблицу персонала.
  • rental_id - внешний ключ, ссылающийся на таблицу аренды.
  • amount – сумма платежа.
  • payment_date – дата платежа.
  • last_update - временная метка создания или последнего обновления строки.
payment_id customer_id staff_id rental_id amount payment_date last_update
1 1 1 1 4.99 2023-01-01 12:13:14 2023-01-01 12:14:15

Таблица inventory

Колонки:
  • inventory_id – уникальный идентификатор для каждого элемента.
  • film_id – уникальный идентификатор каждого фильма в таблице.
  • store_id – уникальный идентификатор магазина, в котором находится товар.
  • last_update — временная метка последнего изменения записи.
inventory_id film_id store_id last_update
1 23 2 2023-01-01 12:00:00

Таблица rental

Колонки:
  • rental_id – уникальный идентификатор для каждой аренды.
  • rental_date – дата, когда произошла аренда.
  • inventory_id - внешний ключ, ссылающийся на таблицу инвентаризации.
  • customer_id - внешний ключ, ссылающийся на таблицу клиентов.
  • return_date – дата возврата взятого напрокат имущества.
  • staff_id - внешний ключ, ссылающийся на таблицу персонала.
  • last_update - временная метка создания или последнего обновления строки.
rental_id rental_date inventory_id customer_id return_date staff_id last_update
1 2023-01-01 16:15:21 1 1 2023-01-10 09:12:36 1 2023-01-01 12:00:00