Курсы · бесплатно, без регистрации
Курс SQL с нуля: бесплатно, онлайн, с проверкой задач
30 уроков и 91 задача на учебной базе авиакомпании: аэропорты, рейсы, бронирования и билеты. В каждом уроке — короткое объяснение, разбор готового запроса и три задачи, которые проверяет сервер. От первого SELECT до JOIN, подзапросов и CTE.
- 9 модулей, 30 уроков
- 91 задача с проверкой
- 8 таблиц, 2,3 млн строк
- синтаксис PostgreSQL
Попробуйте запрос до того, как начать
Это та же база, на которой идут уроки. Запустите готовый запрос или поменяйте его: добавьте столбец, уберите LIMIT.
Как устроен урок
- 01
Идея
Короткое объяснение одной конструкции и пример, который можно запустить на той же базе.
- 02
Разбор
Готовый запрос построчно: что делает каждая строка и что изменится, если её поменять.
- 03
Три задачи
Разминка, основная и со звёздочкой. Подсказок с каждой задачей меньше, подсказка в две ступени — по запросу.
- 04
Проверка
Сервер выполняет запрос и сверяет результат с эталоном. Если не сошлось, видно, чем именно: столбцы, строки или значения.
Программа курса
Каждый урок открывается по ссылке — можно начать с любого, если тему перед ним вы уже знаете.
Модуль 0
Как устроены данные
Таблицы, строки и столбцы, первый запрос и связи между таблицами — для первого знакомства с базой данных
Что будете уметь: Ориентироваться в базе: находить нужную таблицу и столбец, запускать первый запрос и понимать, как таблицы ссылаются друг на друга.
Модуль 1
Первые запросы
SELECT и FROM, выбор столбцов, алиасы, сортировка, LIMIT, DISTINCT и простые вычисления
Что будете уметь: Читать любую таблицу базы: выбирать и переименовывать столбцы, сортировать строки, брать топ, убирать повторы и считать простые выражения.
Модуль 2
Фильтрация строк
WHERE и сравнения, AND/OR/NOT, IN и BETWEEN, поиск по шаблону и пустые значения
Что будете уметь: Отбирать нужные строки условием WHERE: по числам, тексту и датам, по нескольким условиям сразу, по шаблону и по пустым значениям.
Модуль 3
Функции: числа, строки и даты
Считаем, округляем, режем строки и работаем с датами и интервалами прямо в SELECT
Что будете уметь: Приводить данные к нужному виду: округлять цены, склеивать подписи из кусков текста, считать задержки рейсов в минутах.
Модуль 4
Агрегаты и группировка
COUNT, SUM, AVG, MIN, MAX, GROUP BY и HAVING — от тысяч строк к короткой сводке
Что будете уметь: Сворачивать таблицы в сводки: считать вылеты, выручку и средние задержки по статусам, неделям и аэропортам и оставлять только нужные группы.
Модуль 5
Соединения таблиц: JOIN
Собираем результат из нескольких таблиц: рейс, аэропорт, самолёт и пассажиры в одном запросе.
Что будете уметь: Соединять две и больше таблиц через JOIN, подключать одну таблицу дважды, находить строки без пары через LEFT JOIN и не завышать суммы, когда JOIN размножает строки.
Модуль 6
CASE и NULL
Раскладываем данные по своим категориям, разбираемся с пустыми значениями и считаем сразу несколько показателей одним запросом.
Что будете уметь: Строить категории через CASE, заменять и обходить NULL и собирать сводки с условной агрегацией.
Модуль 7
Подзапросы и CTE
Запрос внутри запроса: подзапросы в WHERE, SELECT и FROM, проверка наличия через EXISTS, шаги с именами через WITH
Что будете уметь: Разбивать вопрос на шаги: сравнивать со средним и считать долю от общего через подзапрос, проверять наличие строк через EXISTS и собирать многошаговые расчёты через WITH.
Модуль 8
Множества и итоговый кейс
UNION, INTERSECT, EXCEPT и итоговый кейс: направления, выручка и загрузка рейсов
Что будете уметь: Склеивать и сравнивать результаты запросов и собирать из JOIN, GROUP BY, CASE и CTE законченный ответ на рабочий вопрос.
Примеры задач
Формулировки — из самого курса. Задачи про одну и ту же авиакомпанию: к концу курса вы знаете её данные, а не только синтаксис.
- Первые запросы · Сортировка и LIMITНайди пять самых восточных аэропортов. Выведи из таблицы
airportsстолбцыairport_name,cityиlongitude, отсортируй поlongitudeпо убыванию и оставь первые пять строк.Открыть урок - Агрегаты и группировка · GROUP BY: сводка по группамСколько мест каждого класса в каждой модели? Выведи
aircraft_code,fare_conditionsиseats_countиз таблицыseats. Отсортируй поaircraft_code, затем поfare_conditions.Открыть урок - Соединения таблиц: JOIN · Цепочки таблиц и одна таблица дваждыВ какие города прилетело больше всего пассажиров? Считай рейсы со статусом
Arrived; один пассажир на рейсе — одна строкаticket_flights. Выведи 10 городов: столбцыarrival_cityиpassengers. Отсортируй поpassengersпо убыванию, при равенстве — поarrival_city.Открыть урок - Подзапросы и CTE · Подзапрос в WHERE и SELECT: число и списокКуда из Шереметьево в ближайшие сутки улетают по расписанию? Найди аэропорты, куда из Шереметьево (код
SVO) есть хотя бы один рейс со статусомOn Time; каждый аэропорт — один раз. В результате — столбцыairport_codeиcity. Отсортируй поairport_code.Открыть урок
Кому подойдёт и чем отличается
Курс рассчитан на тех, кто SQL не писал или писал от случая к случаю: начинающих аналитиков, продакт-менеджеров, маркетологов, тестировщиков — всех, кому нужно самому доставать данные из базы, а не ждать выгрузку.
От видеокурса он отличается тем, что смотреть нечего: объяснение занимает экран, дальше вы пишете запросы. От задачника — тем, что темы идут по порядку, а перед задачами есть разбор. Ошибки здесь тоже часть урока: пороги в задачах подобраны так, что перепутанные «больше» и «не меньше» дают другой ответ, и проверка это покажет.
Если хочется сначала понять маршрут целиком, прочитайте как выучить SQL с нуля. Сравнение с другими площадками — в обзоре SQL-тренажёров и песочниц.
Что дальше
Частые вопросы
Курс правда бесплатный?
Да. Сейчас открыты все 30 уроков и 91 задача — без оплаты и без регистрации. Аккаунт нужен только затем, чтобы прогресс сохранялся между устройствами.
Подойдёт ли курс, если я никогда не видел базу данных?
Да, для этого есть вводный модуль «Как устроены данные»: что такое таблица, строка и столбец, как запустить первый запрос и как таблицы связаны между собой. Если SELECT вы уже писали, его можно пропустить.
Нужно ли что-то устанавливать?
Нет. Редактор и учебная база открываются в браузере, запрос выполняет сервер. Курс работает на компьютере и на телефоне.
Какой диалект SQL в курсе?
Курс учит SQL, который работает в PostgreSQL. Запросы выполняет DuckDB — его синтаксис к PostgreSQL очень близок, а там, где базы расходятся (деление целых, порядок NULL при сортировке, алиас в WHERE), урок говорит об этом прямо, и проверка предупреждает, если запрос не сработает в PostgreSQL.
Выдаётся ли сертификат?
Нет. Курс не выдаёт сертификатов и документов об образовании. Результат — умение писать запросы, которое проверяется на собеседовании задачей, а не бумагой.
Сколько времени занимает курс?
Срока и дедлайнов нет: урок — это одна конструкция и три задачи, его удобно проходить за один подход. Всего в курсе 9 модулей, проходить их можно в своём темпе и возвращаться к любому уроку.
Что делать после курса?
Два пути. «Продвинутый SQL» — оконные функции, сессии, JSON, продуктовые метрики и эксперименты на той же базе. Симулятор SQL-аналитика — сюжетный курс, где запросы пишут в ответ на вопросы команды, а не по заданию из учебника.