Базу получил, для работы с простыми запросами уже хватает. Дальше буду практиковаться.

SQL с нуля: бесплатный курс с практикой
Бесплатный курс SQL с нуля: SELECT, WHERE, JOIN, GROUP BY, подзапросы, CTE и оконные функции. 23 урока и 32 задачи с проверкой в браузере.
О курсе
Хотите самостоятельно получать ответы из таблиц: сколько было заказов, какие клиенты покупали чаще и как изменились показатели? Начните с SQL. Этот бесплатный курс на русском языке подходит без опыта программирования: вы пишете запросы и сразу проверяете результат в браузере.
Начнёте с SELECT, фильтрации и сортировки. Затем научитесь считать показатели по группам, соединять несколько таблиц, разбивать сложный запрос на части и использовать оконные функции для рангов, нарастающего итога и сравнения соседних строк.
В программе 23 урока и 32 задачи на написание SQL-запросов с автоматической проверкой, а также проверочные вопросы. Практика работает на SQLite прямо в браузере: устанавливать базу данных не нужно. В конце соберёте многошаговый аналитический запрос.
Попробуйте формат
Если SQL для вас новый — начните с первого SELECT. Уже знакомы с основами? Откройте группировку данных или LEFT JOIN и проверьте себя на заданиях.
Куда идти после основ
Для практики сложных запросов и подготовки к тестовым заданиям есть платный «Продвинутый SQL». Если хочется применять SQL в работе аналитика — в платной «Практической аналитике данных» вы разберёте продажи, удержание клиентов и рекламные каналы, а результаты покажете в дашбордах DataLens.
Чему научитесь
- Выбирать нужные строки и столбцы из таблицы с SELECT, WHERE и ORDER BY.
- Считать количество, суммы и средние по группам, отбирать группы через HAVING.
- Соединять таблицы с INNER JOIN и LEFT JOIN и понимать, откуда в результате появляются NULL.
- Собирать многошаговый запрос с подзапросами и CTE.
- Считать ранги и нарастающий итог, сравнивать строки с LAG и LEAD.
- Находить синтаксические и логические ошибки в SQL-запросах.
Для кого
- Начинающим аналитикам, которым нужен SQL для выборок, отчётов и расчёта показателей.
- Тем, кто работает с таблицами и хочет научиться получать данные из базы самостоятельно.
- Начинающим разработчикам: от первого SELECT до соединений, подзапросов и оконных функций.
Формат
- Бесплатный курс на русском языке, обучение в своём темпе.
- 23 урока: объяснения, примеры, проверочные вопросы и итоговый аналитический запрос.
- 32 задачи на написание SQL-запросов с автоматической проверкой на SQLite.
- Практика в браузере без установки базы данных.
Что нужно на старте
- Опыт работы с SQL и базами данных не нужен.
- Достаточно уметь пользоваться браузером и понимать простые суммы, средние и сравнения.
Автор курса
Алексей Малышкин
Разрабатываю образовательные материалы по программированию, машинному обучению и анализу данных. Темы: Python-разработка, аналитика, ML-инструменты (LangChain, vector databases, AI agents), компьютерное зрение. Стараюсь объяснять технические концепции понятно и структурировано. Ранее преподавал на Stepik и обучил более 2000 студентов. Мой профиль на Stepik - https://stepik.org/users/273781420/profile Мой телеграм для связи @alexey_latorn
Программа
01Первая база данных и первые запросы2 урока
02Основы выборки: SELECT, фильтрация и сортировка3 урока
03Вычисления и функции1 урок
04Агрегация и группировка3 урока
05Соединение таблиц6 уроков
06Подзапросы и CTE2 урока
07Оконные функции4 урока
08Отладка запросов и итоговый проект2 урока
Отзывы
4 отзываОтличный курс
спасибо)
Показать ещё 1 отзывСвернуть
С GROUP BY наконец разобрался. Ещё бы задач на эту тему, чтобы закрепить.
Дополнительные материалы и практика
Задачи
- SQL no such table: найдите ошибку в SELECT
- Псевдоним AS в SQL: почему новый SELECT не видит столбец
- SELECT со звёздочкой в SQL: что изменится после добавления столбца
- WHERE и NULL в SQL: поиск незаполненных значений
- Приоритет AND и OR в SQL: как вычисляется WHERE
- LIMIT и OFFSET в SQL: вторая страница заказов
- LIMIT без ORDER BY в SQL: какой заказ вернёт запрос
- Вычисляемый столбец SQL: изменится ли исходная таблица
- SUM в SQL без подходящих строк: проверьте результат
- COUNT и AVG в SQL: подсчёт строк и значения NULL
- GROUP BY в SQL: найдите неоднозначный bare column
- GROUP BY по году и месяцу: что означает строка результата
- WHERE SUM вместо HAVING в SQL: найдите ошибку
- Связь многие-ко-многим в SQL: зачем таблица-связка
- Внешний ключ SQLite: вставка заказа без клиента
- LEFT JOIN в SQL: какие строки сохраняет соединение
- SQL: найдите товары, которые ни разу не заказывали
- JOIN в SQL: запрос выполняется, но условие ON неверное
- UNION в SQL: разное число столбцов в SELECT
- INNER JOIN в SQL: сколько строк вернёт запрос
- JOIN и дубли строк: связь один-ко-многим или ошибка
- LEFT JOIN и сравнение с NULL: почему результат пустой
- NOT IN и NULL в SQL: почему исчезли ожидаемые строки
- WITH в SQL: два CTE и порядок использования
- SUM OVER и PARTITION BY в SQL: сравните суммы
- Оконная сумма SQL: сохранить строки и добавить итог группы
- Оконная функция SQL с ORDER BY: рамка по умолчанию
- Нарастающий итог SQL: одинаковые даты и порядок строк
- SQL GROUP BY и SUM: задача на выручку по категориям
- SQL HAVING SUM: отобрать группы по сумме продаж
- SQL WHERE, GROUP BY и AVG: средний чек по регионам
- SQL INNER JOIN: соединить заказы с именами клиентов
- Клиенты без заказов SQL: задача на LEFT JOIN и NULL
- SQL JOIN трёх таблиц: состав заказов и товары
- SQL JOIN и HAVING: клиенты с крупной суммой заказов
- SQL топ-N в каждой группе: два товара по продажам
- Последняя запись в группе SQL: заказ каждого клиента
Уроки
- Первая база данных: таблица, строки и первичный ключ
- Первый запрос: SELECT и FROM
- Столбцы, SELECT * и псевдонимы
- WHERE: фильтрация строк
- ORDER BY и LIMIT / OFFSET
- Вычисляемые столбцы и функции для строк и чисел
- Агрегатные функции: COUNT, SUM, AVG, MIN, MAX
- GROUP BY и HAVING
- Внешние ключи и схема базы данных
- INNER JOIN: соединение двух таблиц
- LEFT JOIN и NULL в результате соединения
- Соединение трёх и более таблиц
- UNION и UNION ALL
- Подзапросы: скалярный и в WHERE
- CTE с WITH
- Концепция оконной функции и OVER с PARTITION BY
- Нарастающий итог: OVER с ORDER BY
- Ранжирование: ROW_NUMBER, RANK, DENSE_RANK
- Смещение: LAG и LEAD
- Отладка SQL: синтаксические, логические ошибки и ошибки с NULL
