Курс на Stepik
Обложка курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» на Stepik
2 490 ₽

SQL для аналитики “как в проде” (оконки, витрины, оптимизация) 5.000

Открыть на
STEPIK.ORG

Курс про то, как писать аналитический SQL так, чтобы запросы были корректными по grain, предсказуемыми (детерминированными), без дублей, готовыми к ревью, и при этом не умирали по производительности на реальных объёмах. Фокус не на “SELECT для начинающих”, а на продовых паттернах: сложные JOIN, оконные функции, дедупликация, SCD/история, инкрементальные витрины, чтение EXPLAIN и типовые анти‑паттерны.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Учеников на курсе 8
Сертификаты, выданные на курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Сертификатов выдано 0
Отзывы о курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Отзывов получено 1
Рейтинг курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Рейтинг курса 5.000
Уроки в курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Количество уроков 39
Задачи с кодом в курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Количество задач с кодом 110
Время прохождения курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Время прохождения курса
Стоимость курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Стоимость курса 2 490 ₽
Обновления курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Обновления курса
Дата публикации курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Дата публикации курса
Последнее обновление курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» 11 разделов Уроки в курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» 39 уроков Задачи в курсе «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» 110 задач Время прохождения курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» 0 ч. Последнее обновление курса «SQL для аналитики “как в проде” (оконки, витрины, оптимизация)» обн. 23 марта 2026

1. Аналитический SQL “как в проде”: правила игры

4 урока
Закрытый
1.1 Введение
5
4
-
0
Закрытый
1.2 Роль SQL в прод-пайплайне и типовые источники проблем
5
3
-
0
Закрытый
1.3 Стиль и структура запроса: CTE, нейминг, детерминизм
4
1
-
0
Закрытый
1.4 SQL-диагностика качества данных: уникальность, полнота, цело
3
1
-
0

2. Grain, ключи и кардинальности для корректных JOIN

3 урока
Закрытый
2.1 Grain таблицы и последствия его нарушения
2
1
-
0
Закрытый
2.2 Кардинальности 1:1, 1:N, N:M и ожидаемая мощность результата
4
1
-
0
Закрытый
2.3 Ключи: натуральные, суррогатные, составные; поиск минимально
2
1
-
0

3. Сложные JOIN: стратегия, отладка, интервалы

4 урока
Закрытый
3.1 JOIN-типология: INNER/LEFT/FULL + SEMI/ANTI через EXISTS
2
1
-
0
Закрытый
3.2 Отладка размножения строк: поэтапный контроль кардинальности
2
1
-
0
Закрытый
3.3 JOIN по диапазонам (valid_from/valid_to) и join 'на дату'
2
1
-
0
Закрытый
3.4 Latest snapshot join: актуальная запись по ключу
2
1
-
0

4. Оконные функции продвинутого уровня

4 урока
Закрытый
4.1 PARTITION/ORDER: детерминизм и типовые ошибки окон
2
1
-
0
Закрытый
4.2 Ранжирование: row_number/rank/dense_rank и top-N в группе
3
1
-
0
Закрытый
4.3 lag/lead: дельты, шаги воронки, поиск пропусков
2
1
-
0
Закрытый
4.4 ROWS/RANGE фреймы: rolling и cumulative метрики
2
1
-
0

5. Дедупликация и golden record

4 урока
Закрытый
5.1 Типы дублей и SQL-диагностика
2
1
-
0
Закрытый
5.2 Дедуп через окна: row_number + фильтр
2
1
-
0
Закрытый
5.3 Дедуп через anti-join/EXISTS
2
1
-
0
Закрытый
5.4 Golden record: объединение конфликтующих источников
2
1
-
0

6. Инкрементальные витрины и идемпотентность

4 урока
Закрытый
6.1 Полная пересборка vs инкремент: критерии выбора
2
1
-
0
Закрытый
6.2 Watermark и late arrivals: event_time vs load_time
2
1
-
0
Закрытый
6.3 Upsert-паттерны: MERGE или insert+update
2
1
-
0
Закрытый
6.4 Идемпотентность и контроль качества инкрементальной загрузки
2
1
-
0

7. Историзация и SCD (Type 1/2) в витринах

3 урока
Закрытый
7.1 SCD1 vs SCD2: выбор по бизнес-вопросам
2
1
-
0
Закрытый
7.2 Valid-time таблицы и join 'на момент времени'
3
1
-
0
Закрытый
7.3 Срез на дату и история изменений: два представления
2
1
-
0

8. Производительность и EXPLAIN

3 урока
Закрытый
8.1 Как читать EXPLAIN: где деньги в плане
3
1
-
0
Закрытый
8.2 Оптимизация запросов: предфильтрация, проекция, порядок JOIN
2
1
-
0
Закрытый
8.3 Индексы/партиции/статистики: что должен понимать аналитик
2
1
-
0

9. Анти-паттерны аналитического SQL

3 урока
Закрытый
9.1 JOIN-анти-паттерны: скрытый CROSS, WHERE после LEFT, неверны
3
1
-
0
Закрытый
9.2 DISTINCT и 'GROUP BY на глаз': почему это опасно
3
1
-
0
Закрытый
9.3 NULL-ловушки: NOT IN, сравнения дат/таймзон, неявные касты
2
1
-
0

10. Проектирование витрин (data mart) под аналитику проду

3 урока
Закрытый
10.1 Факты и измерения: гранулярность, conformed dimensions
2
1
-
0
Закрытый
10.2 Слойность и единые определения метрик: staging → intermedia
3
1
-
0
Закрытый
10.3 Retention и воронка: когорты, окна времени, edge cases
2
1
-
0

11. Комплексный практикум “мини-прод”

4 урока
Закрытый
11.1 Staging → Intermediate: очистка, дедуп, обогащение
4
1
-
0
Закрытый
11.2 Финальная витрина + инкремент + late arrivals
2
1
-
0
Закрытый
11.3 Контроль качества: SQL-тесты и диагностика отклонений
2
1
-
0
Закрытый
11.4 Финал и благодарности
3
2
-
0