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

запросы выполняются на настоящей базе

SQL — первый фильтр в вакансиях аналитика: без него не смотрят дальше резюме. Хорошая новость в том, что для работы аналитику нужен вполне обозримый набор: SELECT с условиями, JOIN, группировки с агрегатами и подзапросы. Ровно вокруг этого набора и построен курс.

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

Курс бесплатен целиком, включая контрольную уровня и именной сертификат. Если SQL вам нужен со стороны данных, после него хорошо ложится курс «ИИ на практике» — как отдавать данные моделям и что с ними делать дальше.

Кому подойдёт

✓Метите в аналитики данных или продукта — SQL там спрашивают в первую очередь✓Работаете с выгрузками в Excel и упёрлись в его пределы: пора спрашивать данные напрямую✓Готовитесь к техническому собеседованию и нужна практика на настоящих запросах, а не тесты✓Начинаете с нуля: курс не требует опыта программирования вообще

Программа

Восемнадцать уроков примерно на 9 часов занятий.

01
Что такое база и зачем SQL

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

02
SELECT: выбрать колонки

Уметь выбрать нужные колонки, дать им читаемые имена, посчитать в запросе выражение и получить список значений без повторов.

03
WHERE: отбор строк

Уметь отобрать нужные строки условием, правильно соединять несколько условий скобками и узнавать три ловушки, из-за которых отбор молча возвращает не то.

04
Ещё про отбор: IN, BETWEEN, LIKE, IS NULL

Записывать частые условия короткими словами вместо длинных цепочек, искать текст по образцу и правильно обращаться с незаполненными клетками — включая ловушку NOT IN, которая опустошает результат целиком.

05
Порядок и ограничение: ORDER BY, LIMIT, OFFSET

Задавать порядок строк и не полагаться на случайный, строить «топ-N» и страницы, а также узнавать четыре случая, в которых список выглядит упорядоченным, а порядок в нём не тот.

06
Считаем: агрегаты

Отвечать на вопросы одним числом: сколько, сколько всего, в среднем, минимум и максимум. Различать три записи COUNT и знать четыре места, где итог оказывается не тем, о котором спрашивали.

07
GROUP BY: итоги по группам

Получать не один итог, а итог по каждому значению: разрезы по категориям, городам и месяцам. Знать правило о том, что можно писать рядом с агрегатом, и три причины, по которым строка разреза пропадает.

08
HAVING: отбор итогов

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

09
JOIN: несколько таблиц

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

10
Виды соединений

Показывать и тех, у кого пары нет: клиентов без заказов, товары без продаж, записи с оборванной связью. Правильно считать по таким строкам и не терять их условием в WHERE.

11
Когда соединение размножает строки

Понимать, почему после соединения суммы вырастают, уметь это заметить тремя способами и вылечить — считая итог до соединения, а не после.

12
Подзапросы

Решать вопросы, которые не укладываются в один шаг: отобрать по посчитанному, посчитать итог от итога, проверить наличие связанных строк. И выбирать между подзапросом и соединением осознанно.

13
CASE и вычисляемые колонки

Выбирать значение по условию, считать несколько разрезов одним запросом, задавать свой порядок сортировки и группировать по вычисленному признаку — не попадаясь на порядок веток и забытый ELSE.

14
NULL: три состояния вместо двух

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

15
Даты и текст

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

16
Изменение данных

Добавлять, править и удалять строки так, чтобы не задеть лишнего: сначала посмотреть тем же условием, потом менять, а связанные правки заворачивать в транзакцию — и понимать, что именно база проверяет за вас, а что не проверяет никто.

17
Отчёт целиком

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

18
Запрос показывает не то

Разбирать расхождения по методу, а не наугад: сужать запрос до места, где число поехало, узнавать причину по каталогу — строк больше или строк меньше — и пользоваться шестью инструментами, которым не нужно ничего, кроме самого SQL.

Частые вопросы

Нужно ли уметь программировать до курса?

Нет. SQL — не язык программирования в привычном смысле: это язык вопросов к данным. Курс начинается с простых SELECT и доводит до JOIN, группировок и подзапросов без предварительной подготовки.

Какая база используется в заданиях?

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

Хватит ли этого курса для собеседования?

Для типового технического интервью уровня junior — да: JOIN, агрегаты, группировки и подзапросы покрывают большинство вопросов. Дальше решает практика — запросы вы пишете в каждом уроке, а потом ещё и в домашней работе.

Есть ли что-то для тех, кто уже пишет запросы?

Да, и это вторая половина курса: размножение строк при соединении, NULL и три состояния вместо двух, границы периода, разбор «запрос показывает не то». На этом спотыкаются и опытные. Порядок уроков — рекомендация: открыть можно любой, платформа только переспросит.

А тренажёр?

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

Начните с первого урока

Курс с погружением — бесплатно. Прогресс сохраняется в аккаунте, вернуться можно в любой момент.