← К оглавлению занятия

📝 Задания

📁 Блок: Revision / MySQL и Colab ⏱️ Время изучения: ~90 мин 🎯 Сложность: Повторение

⚡ Кратко: суть занятия

Revision 1 повторяет подключение MySQL из Python и практику SQL по базе sakila.

В Python используется mysql-connector-python: подключение, cursor, execute, fetchall, description, DataFrame и close.

SQL-повторение начинается с поиска фильмов по LIKE "%LION%" и подсчёта таких фильмов.

JOIN film, film_category и category нужен для вывода фильмов с категориями.

ORDER BY length DESC LIMIT 10 показывает самые длинные фильмы.

GROUP BY category и HAVING фильтруют категории по количеству фильмов.

Оконные функции AVG(...) OVER (PARTITION BY name) и DENSE_RANK() OVER (...) добавляют агрегаты без схлопывания строк.

Топ-3 ошибки: забыть закрыть соединение, фильтровать Horror по неверному category_id, путать GROUP BY и оконную агрегацию.

Задания из источника

1

Задание 1

Подключитесь к MySQL из Jupyter/Colab через mysql-connector-python.

2

Задание 2

Выполните запрос к sakila и выведите результат как pandas DataFrame.

3

Задание 3

Выведите фильмы, где title содержит LION, и посчитайте их количество.

4

Задание 4

Выведите названия всех фильмов в категории Horror.

5

Задание 5

Выведите названия фильмов с названием категории.

6

Задание 6

Выведите 10 самых длинных фильмов.

7

Задание 7

Выведите количество фильмов по категориям.

8

Задание 8

Выведите категории, где фильмов больше заданного порога из вашего запроса.

9

Задание 9

Добавьте среднюю продолжительность фильма в каждой категории через оконную функцию.

10

Задание 10

Добавьте ранг по длине фильма.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какая библиотека используется для подключения MySQL из Python?

Вопрос 2

Что делает cursor.execute?

Вопрос 3

Что возвращает fetchall()?

Вопрос 4

Где взять названия столбцов результата?

Вопрос 5

Как найти фильмы с LION в названии?

Вопрос 6

Какая конструкция фильтрует агрегированные группы?

Вопрос 7

Что делает AVG(length) OVER (PARTITION BY category)?

Вопрос 8

Какая функция ранжирует фильмы без пропусков рангов?