SQLLab

SQL для аналитиков
и разработчиков

Пиши реальные SQL-запросы прямо в браузере. Задачи из собеседований Яндекс, Ozon, Сбер — с мгновенной проверкой.

Учиться бесплатно · Не нужно ничего устанавливать

Два пути — один продукт

🎯

Тренажёр

Уже знаешь SQL? Прокачай навык на реальных задачах. ELO-рейтинг, лидерборд, задача дня.

  • 150+ задач с реальных собеседований
  • ELO рейтинг и таблица лидеров
  • Задача дня + серия
  • Сертификат Practitioner
Решать задачи →
Популярное
📚

Курс

Учишься с нуля? Структурированная программа с теорией, практикой и прогрессом.

  • Теория + практика в каждом уроке
  • Структурированный прогресс
  • От SELECT до оконных функций
  • Сертификат Analyst
Начать учиться →

Как это работает

01

Открой задачу

Читай условие с реальным бизнес-контекстом. Датасет уже загружен — маркетплейс, финтех, стриминг.

02

Пиши SQL

Monaco-редактор с подсветкой. Нажми «Выполнить» — результат появится мгновенно.

03

Проверяй и расти

«Проверить» сравнит твой запрос с эталоном. ELO обновится автоматически.

Курсы

SQL с нуля: первый запрос

Бесплатно

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

60 уроков

Агрегация и отчётность

Pro

Вы научитесь превращать тысячи строк в понятные цифры: считать выручку, строить отчёты по дням и месяцам, находить топ-клиентов и аномалии. После курса вы сможете отвечать на любые вопросы руководителя за 5 минут — одним SQL-запросом.

74 уроков

JOIN: объединение таблиц

Pro

Вы научитесь работать с несколькими таблицами одновременно: объединять данные через JOIN, находить записи без пары, использовать подзапросы и строить многотабличные CRM-выгрузки. После курса вы сможете самостоятельно получать любые данные из реальных баз данных — без помощи разработчика.

43 уроков

Продвинутый аналитик

Pro

Оконные функции, CTE и аналитические паттерны уровня Data Analyst. Вы освоите ROW_NUMBER, LAG/LEAD, накопительные итоги, когортный анализ и LTV — именно эти навыки требуют на собеседованиях в аналитику. Работаем с реальным fintech-датасетом: клиенты, счета, транзакции.

41 уроков

Архитектор данных

Pro

Финальный курс платформы — для тех, кто хочет не просто писать запросы, а проектировать базы данных. Вы освоите нормализацию (1НФ–3НФ), DDL, DML, транзакции, VIEW, индексы, а также построите полноценную схему Data Warehouse (Star Schema) с таблицами фактов и измерений. Работаем на реальном retail-датасете.

22 уроков

DML и работа с данными

Pro

Научитесь уверенно изменять данные в PostgreSQL. Курс охватывает INSERT (VALUES, SELECT, многострочный), UPDATE (одиночный, массовый, UPDATE FROM), DELETE (по условию, каскадное), а также UPSERT через ON CONFLICT и цепочки RETURNING в CTE. Все задачи — на реальной пользовательской базе данных.

28 уроков

Подзапросы и CTE

Pro

Освойте вложенные SELECT — один из ключевых инструментов опытного разработчика. Вы научитесь писать скалярные и табличные подзапросы, коррелированные подзапросы и EXISTS, именованные подзапросы через CTE (WITH) и их цепочки, рекурсивные CTE для обхода иерархий и LATERAL JOIN для задач Top-N per group. Работаем на датасете с оргструктурой, проектами и деревом категорий.

24 уроков

Транзакции и ACID

Pro

Транзакции и ACID — фундамент надёжных баз данных. Вы поймёте, зачем нужны BEGIN/COMMIT/ROLLBACK, как работают четыре свойства ACID (Atomicity, Consistency, Isolation, Durability), чем отличаются уровни изоляции READ COMMITTED, REPEATABLE READ и SERIALIZABLE, почему возникают дедлоки и как их избегать, а также освоите практические паттерны: upsert, идемпотентные операции и retry-логику. Курс незаменим для собеседований на позицию аналитика или backend-разработчика.

38 уроков

Оптимизация и индексы

Pro

Научитесь читать план выполнения EXPLAIN ANALYZE и понимать, почему PostgreSQL выбирает Seq Scan вместо Index Scan. Освоите все типы индексов: B-tree, Hash, GIN, BRIN, partial и covering (INCLUDE). Узнаете антипаттерны, которые «ломают» индекс: функция на колонке, implicit cast, NOT IN с NULL. Поймёте, как работают VACUUM и ANALYZE, и как следить за состоянием базы через pg_stat_user_tables и pg_stat_user_indexes. 52 практических урока на датасете e-commerce.

52 уроков

Оконные функции

Pro

Оконные функции — один из самых востребованных навыков на рынке аналитики данных. Вы освоите OVER(), PARTITION BY и ORDER BY в окне, функции ранжирования (ROW_NUMBER, RANK, DENSE_RANK, NTILE), навигационные функции (LAG, LEAD, FIRST_VALUE, LAST_VALUE), агрегатные оконные функции для вычисления долей и нарастающих итогов, а также управление фреймом (ROWS BETWEEN, RANGE BETWEEN). 74 урока на датасете продаж сотрудников — от первого OVER() до реальных аналитических отчётов в стиле интервью.

74 уроков

PostgreSQL для разработчика

Pro

PostgreSQL — это не просто «хранилище таблиц». В этом курсе вы освоите JSONB для работы с полу-структурированными данными, ARRAY для хранения и поиска по спискам, полнотекстовый поиск (tsvector, tsquery, ts_rank, ts_headline), GIN-индексы для ускорения JSONB и ARRAY операций, основы PL/pgSQL для хранимых функций и триггеров, а также разберёте разницу между VIEW и MATERIALIZED VIEW. 44 практических урока на датасете блог-платформы.

44 уроков

BI-дашборды на SQL

Pro

Научитесь строить аналитические отчёты уровня Senior BI-аналитика. DATE_TRUNC и EXTRACT для группировки по периодам, MoM и YoY через LAG, нарастающие итоги и скользящее среднее. FILTER и CASE WHEN для pivot-таблиц без внешних инструментов. ROLLUP, CUBE и GROUPING SETS для многоуровневых иерархических отчётов. Когортный анализ, воронка продаж и анализ Парето. 42 практических урока на датасете продаж.

42 уроков

SQL + Python

Pro

Полный стек аналитика данных: от pandas до dbt. Вы научитесь читать pandas-код и понимать его SQL-эквивалент, строить dbt-модели в стиле staging → mart, писать переносимые Spark SQL запросы, понимать SQLAlchemy Core и ORM, избегать N+1 проблему и писать оптимальные аналитические запросы. 48 практических уроков на датасете SaaS-платформы.

48 уроков

PostgreSQL DBA

Pro

Профессиональный курс для PostgreSQL DBA. Вы научитесь настраивать postgresql.conf и читать pg_settings, диагностировать кластер через системные каталоги, организовывать резервное копирование с pg_dump и pg_basebackup, настраивать WAL-архивирование и PITR, разворачивать потоковую репликацию и HA-кластеры с Patroni, мониторить производительность через pg_stat_statements. 50 практических уроков на датасете DBA-инфраструктуры.

50 уроков

ETL-пайплайны

Pro

Полный курс по построению ETL/ELT-пайплайнов для аналитики данных. Вы научитесь проектировать Extract-паттерны (full load, incremental, CDC), трансформировать данные (SCD Type 2, дедупликация, нормализация), строить DQ-проверки и мониторинг качества данных, оркестрировать пайплайны через Airflow-паттерны, обеспечивать идемпотентность и SLA-мониторинг, работать с потоковой обработкой (Kafka, Flink, Spark Streaming). 55 практических уроков на датасете реальной ETL-платформы.

55 уроков

Data Warehouse

Pro

Полный курс по проектированию и эксплуатации хранилищ данных. Вы научитесь строить схему «звезда» и «снежинка», работать с OLAP-операциями (ROLLUP, CUBE, GROUPING SETS), применять оконные функции для аналитики (MoM, retention, Pareto), понимать архитектуру колоночных СУБД (ClickHouse, BigQuery, Snowflake), оптимизировать запросы через партиционирование и материализованные представления, строить RFM-сегментацию, когортный анализ и basket analysis. 48 практических уроков на e-commerce DWH-датасете.

48 уроков

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

Pro

Практический курс по MongoDB: от первого find-запроса до aggregate-пайплайнов и $lookup. Все задачи проверяются автоматически. Идеально для аналитиков, которые уже знают SQL.

8 уроков

Для школ

SQL Lab в классе

Создайте класс, назначьте курс и следите за прогрессом каждого ученика в реальном времени. Ученики входят по коду — без регистрации.

🏫

Классы

Добавляйте учеников списком

📊

Прогресс

Live-таблица в реальном времени

📋

Задания

Назначайте курсы одним кликом

🏆

Рейтинг

Лидерборд мотивирует учеников

Для университетов

SQL Lab на практике

Создайте группу, назначьте задание и следите за прогрессом студентов в реальном времени. Студенты входят по коду — без лишней регистрации.

🎓

Группы

Добавляйте студентов списком

📊

Прогресс

Live-таблица на проекторе

📋

Задания

Назначайте курсы по SQL

📄

Ведомость

Экспорт прогресса в CSV

Бесплатно

SQL гайды с примерами

🔗

SQL JOIN: объединение таблиц

JOIN — основа реляционных баз данных. На каждом SQL-собеседовании обязательно будет задача с объединением таблиц. Разберём все виды JOIN с реальными примерами.

📊

GROUP BY и агрегатные функции

GROUP BY — один из самых используемых операторов в аналитических запросах. Позволяет считать метрики по группам: выручка по месяцам, число заказов по пользователям, средний чек по категориям.

🪟

Оконные функции SQL

Оконные функции — самая сложная и самая ценная тема на SQL-собеседованиях в Яндекс, Ozon, Авито. Позволяют считать ранги, скользящие суммы, сравнивать строки между собой без GROUP BY.

🔍

Подзапросы в SQL

Подзапрос — это SELECT внутри другого SELECT. Позволяет решать задачи в несколько шагов: сначала вычислить что-то, потом использовать результат. Часто встречается на SQL-собеседованиях как способ проверить понимание логики.

🧩

CTE в SQL: оператор WITH

CTE (Common Table Expression) — именованный подзапрос, объявленный через WITH. Делает сложные запросы читаемыми, позволяет переиспользовать промежуточные результаты и строить иерархии через рекурсию.

🔀

CASE WHEN в SQL

CASE WHEN — условное выражение в SQL, аналог if-else. Позволяет прямо в запросе задавать логику: категоризировать значения, заменять NULL, считать метрики по условию.

Индексы в SQL: как ускорить запросы

Индексы — главный инструмент оптимизации SQL-запросов. Без них база данных читает все строки таблицы (seq scan). Правильный индекс ускоряет запрос в сотни раз. На собеседованиях часто спрашивают: «Как бы вы ускорили этот запрос?»

NULL в SQL: как работать с отсутствующими данными

NULL — отсутствие значения. Не ноль, не пустая строка — именно отсутствие. NULL ведёт себя неожиданно: NULL = NULL → false, NULL + 5 → NULL. Понимание NULL обязательно на любом SQL-собеседовании.

Начни прямо сейчас

5 задач бесплатно — без регистрации.

Попробовать бесплатно