основы · SQL

SQL для аналитиков

Напишешь запросы к базе магазина: от списка клиентов до отчётов о выручке и повторных покупках.

Для старта: Опыт программирования не нужен; достаточно понимать строки и столбцы таблицы

  • SQL
  • 5 модулей
  • 25 задач
  • 5 задач бесплатно

После регистрации откроется программа этого пути.

результаты практики

что освоишь на практике

Автор программы:
  • Фильтровать и сортировать строки через SELECT, WHERE, ORDER BY и ILIKE
  • Группировать данные и разделять фильтры WHERE и HAVING
  • Соединять таблицы через INNER и LEFT JOIN без потери строк
подробнее о пути и навыках

что получится

25 запросов к базе интернет-магазина — от первой строки SELECT до когортного анализа, который спрашивают на собеседовании аналитика. Данные живые и грязные: город записан то «Казань», то «казань», у части клиентов нет почты, суммы заказов не всегда сходятся с позициями. Ты научишься доставать из такой базы честные цифры: выручку по городам, средний чек по каналам, спящих клиентов, топ товаров в каждой категории, выручку нарастающим итогом и возвращаемость по когортам.

Для кого

Ты идёшь в аналитику данных или уже работаешь с отчётами, но SQL знаешь по обрывкам. Программировать не нужно: первая задача решается одной строкой, а каждая новая конструкция вводится своим модулем — сначала выборки, потом агрегаты, соединения, даты и только в финале оконные функции.

  • Опыт программирования не нужен
  • Достаточно понимать, что таблица состоит из строк и столбцов

что ещё отработаешь

  • Считать метрики по полуоткрытым интервалам дат и date_trunc
  • Разбивать сложный запрос на подзапросы и CTE
  • Ранжировать строки и считать нарастающий итог оконными функциями
  • Строить когорты и рассчитывать retention на данных интернет-магазина
программа

программа пути

Начинай с первого модуля: новые темы идут от простых к сложным. Каждая задача — отдельная практика с проверкой решения.

25 задач · 5 модулей
1.1
Список клиентов
Первый SELECT: две колонки из таблицы клиентов с сортировкой по имени.
1.2
Крупные оплаченные заказы
Составное условие WHERE: статус и денежная граница «от».
1.3
Витрина дорогих товаров
ORDER BY по убыванию с tie-break и LIMIT: топ-5 каталога.
1.4
Клиенты из Казани
Регистронезависимый поиск по строке: ILIKE против грязных данных.
1.5
Дырявые анкеты
NULL нельзя поймать через «= NULL»: IS NULL и условие ИЛИ.
2.1
Заказы по статусам
Первый GROUP BY: число заказов в каждом статусе, имя метрики через AS.
2.2
Средний чек по каналам
WHERE до группировки, avg и округление до копеек через round.
2.3
Постоянные покупатели
Первый HAVING: фильтр по агрегату отбирает клиентов с тремя и более оплаченными заказами.
2.4
Ценовые вилки категорий
Два агрегата в одном запросе: min и max цены каждой категории.
2.5
Ходовые позиции
sum вместо count: суммарное количество по строкам заказов и порог через HAVING.
3.1
Заказы с именами
Первый INNER JOIN: имена клиентов к pending-заказам по внешнему ключу.
3.2
Молчаливые клиенты
Анти-джойн: LEFT JOIN + IS NULL находит клиентов без единого заказа.
3.3
Выручка по городам
JOIN + GROUP BY: оплаченная выручка по городам клиентов, «казань» отдельно от «Казань».
3.4
Июньский зачёт по всем
LEFT JOIN с условиями в ON и coalesce: июньская оплата каждого клиента, включая нули.
3.5
Сверка сумм заказов
Аудит данных: JOIN + HAVING находит заказы, где amount расходится с суммой позиций.
4.1
Заказы июня
Выборка за месяц через полуоткрытый интервал: BETWEEN теряет последний день.
4.2
Динамика по месяцам
date_trunc обрезает таймстамп до месяца, ::date приводит к дате.
4.3
Дата первой покупки
min по времени + каст к дате: точка отсчёта для когортного анализа.
4.4
Долгий путь к покупке
Разница дат в днях: date - date = integer в PostgreSQL.
4.5
Спящие клиенты
Интервальная арифметика от литеральной даты «сегодня»: последний заказ старше 60 дней.
5.1
Выше среднего чека
Скалярный подзапрос в WHERE: заказы дороже среднего чека.
5.2
Последний заказ каждого
PostgreSQL-идиома DISTINCT ON: первая строка каждой группы.
5.3
Бестселлер каждой категории
rank() OVER (PARTITION BY …): топ-1 в каждой категории.
5.4
Выручка нарастающим итогом
Оконный агрегат поверх GROUP BY: дневная выручка и нарастающий итог.
5.5
Когорты и возвращаемость
Финал курса: когорты по месяцу первой покупки и retention.
доступ к полной программе Платные модули этого пути входят в Premium. Условия подписки можно посмотреть на странице тарифов. от 490 ₽ / мес посмотреть тарифы первые 5 задач — бесплатно, без карты
первый шаг в этом пути

начни с задачи «Список клиентов»

После регистрации откроется путь «SQL для аналитиков». Выбери модуль «Выборки и фильтры»: редактор и проверка доступны на странице задачи.

5 задач бесплатно

начать бесплатно

После регистрации откроется программа этого пути.

другие пути на этом языке