Перейти к содержимому
TelegramGitHub

Базовый минимум SQL

SQL (Structured Query Language) — язык для работы с данными в базах данных. Ему больше 50 лет. Его используют почти все компании.

  • Данные живут в базах. Postgres, MySQL, Snowflake, BigQuery, ClickHouse, DuckDB — везде SQL.
  • Он простой. Запрос читается почти как предложение: «выбери столбцы из таблицы, где условие».
  • Он работает там, где лежат данные. Не нужно выгружать миллионы строк в Excel. База посчитает сама.
  • Запрос легко проверить и повторить. Это текст. Его можно сохранить, отправить коллеге, положить в Git.
КтоЧто делает с SQL
Инженер данныхПишет трансформации в хранилище, модели dbt, загрузки (ELT), проверки качества данных
Аналитик данныхОтвечает на вопросы бизнеса, считает метрики, готовит данные для дашбордов
BI-разработчикСтроит витрины и датасеты для BI-инструментов
Data ScientistСобирает выборки для моделей и проверяет гипотезы

Если вы работали в Excel, многое будет знакомо.

ExcelSQL
Лист с даннымиТаблица
ФильтрWHERE
СортировкаORDER BY
Сводная таблицаGROUP BY и агрегаты: SUM, COUNT, MIN, MAX
ВПР (VLOOKUP)JOIN

Разница: SQL работает с миллиардами строк и с несколькими таблицами сразу.

Курс повторяет структуру SQL Tutorial for Data Analysis от ThoughtSpot (раньше он назывался Mode SQL Tutorial). Это один из самых известных бесплатных курсов SQL. Мы перевели задания на русский, объяснения написали заново и собрали свою базу с теми же таблицами.

СтраницаЧто внутри
ОсновыSELECT, WHERE, операторы сравнения и логические операторы, ORDER BY
Средний уровеньАгрегаты, GROUP BY, HAVING, CASE, DISTINCT, все виды JOIN, UNION
Аналитические кейсыТри задачи из жизни аналитика: падение вовлечённости, поиск в продукте, проверка A/B-теста
Продвинутый уровеньТипы данных, даты, чистка данных, строки, подзапросы, оконные функции, производительность, pivot

У каждого уровня есть стартовая страница со схемой данных и списком уроков. Каждый урок — отдельная страница. Внизу урока есть кнопка перехода к следующему.

Мы не даём редактор в браузере. Вы ставите базу на свой компьютер. Так вы сразу учитесь работать как на работе: терминал, файл базы, SQL-клиент.

  1. Установите DuckDB и скачайте файл учебной базы. Это 5 минут. Инструкция: Установка.

  2. Посмотрите, какие таблицы есть в базе.

  3. Идите по урокам по порядку. Читайте пример, запускайте его у себя, меняйте его.

  4. Решайте задания в конце урока. Сверяйте свой ответ с подсказкой «Проверка».

  5. Только потом открывайте «Решение».

Почему это важно:

  • На собеседовании AI не будет. Задачи по SQL дают почти на каждом собеседовании на инженера и аналитика данных.
  • AI ошибается. Чтобы найти ошибку в чужом запросе, нужно уметь писать запросы самому.
  • Навык появляется только от практики. Как в спорте: смотреть, как тренируется другой, бесполезно.

Как решать без AI:

  • Застряли — перечитайте урок. Ответ почти всегда там.
  • Разбейте задачу на шаги. Сначала SELECT * ... LIMIT 10, потом фильтр, потом сортировка.
  • Читайте ошибку. DuckDB пишет, в какой строке проблема.
  • Ищите в документации DuckDB. Это нормально, так делают все.
  • Открывайте решение, только если потратили 15–20 минут. Потом закройте его и напишите запрос сами.

AI — отличный инструмент для работы. Им стоит пользоваться, когда вы уже умеете делать задачу сами. Об этом у нас есть раздел AI для инженера данных.