28/10/2026

План обучения SQL

Пошаговый план изучения SQL от основ до продвинутых функций.

Этап 1: Основы и базовые выборки (1 неделя)

Цель: Научиться доставать данные из одной таблицы и фильтровать их.

  • Введение: Что такое реляционные базы данных, таблицы, строки и столбцы.
  • Базовый синтаксис: Команды SELECT, FROM.
  • Фильтрация: Оператор WHERE, логические операторы (AND, OR, NOT).
  • Дополнительные условия: Операторы IN, BETWEEN, LIKE (поиск по шаблону), IS NULL.
  • Сортировка и лимиты: ORDER BY, LIMIT (или TOP / FETCH в зависимости от диалекта).
  • Уникальные значения: DISTINCT.

Этап 2: Агрегация и группировка (1 неделя)

Цель: Научиться считать метрики и группировать данные.

  • Агрегатные функции: COUNT(), SUM(), AVG(), MIN(), MAX().
  • Группировка: Оператор GROUP BY.
  • Фильтрация групп: Оператор HAVING (чем он отличается от WHERE).
  • Порядок выполнения запроса: Понимание того, в каком порядке СУБД читает запрос (FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY).

Этап 3: Объединение таблиц (JOINs) (1.5 недели)

Цель: Научиться работать с несколькими связанными таблицами.

  • Связи в БД: Первичные ключи (PK) и внешние ключи (FK).
  • Типы объединений:
    • INNER JOIN (пересечение)
    • LEFT JOIN и RIGHT JOIN
    • FULL OUTER JOIN
    • CROSS JOIN (декартово произведение)
  • Объединение результатов: UNION и UNION ALL.
  • Самообъединения: SELF JOIN (когда таблица соединяется сама с собой).

Этап 4: Подзапросы и CTE (1 неделя)

Цель: Научиться писать сложные многоуровневые запросы.

  • Подзапросы: В WHERE, FROM и SELECT.
  • Коррелированные подзапросы: Понимание разницы между обычными и коррелированными подзапросами.
  • CTE (Common Table Expressions): Конструкция WITH для создания временных наборов данных (делает код гораздо чище и читаемее).

Этап 5: Продвинутый уровень — Оконные функции (1.5 недели)

Цель: Освоить самый мощный инструмент SQL для аналитики.

  • Базовый синтаксис: OVER(), PARTITION BY, ORDER BY.
  • Ранжирование: ROW_NUMBER(), RANK(), DENSE_RANK().
  • Смещение: LEAD(), LAG().
  • Агрегация в окне: Накопительные итоги (running total), скользящие средние.

Этап 6: Модификация данных и структура БД (1 неделя)

Цель: Понять, как создавать таблицы и изменять данные.

  • Типы данных: Числа, строки (VARCHAR, TEXT), даты (DATE, TIMESTAMP), булевы.
  • DDL (Data Definition Language): CREATE TABLE, ALTER TABLE, DROP TABLE.
  • DML (Data Manipulation Language): INSERT, UPDATE, DELETE.
  • Ограничения (Constraints): PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK.

🛠 Где практиковаться (Ресурсы)

Интерактивные тренажеры (обязательно к прохождению)

  • SQLZoo — отличная бесплатная площадка с интерактивными задачами.
  • Stepik — найди курсы «Интерактивный тренажер по SQL» или «SQL для начинающих» (на русском языке, очень качественные).
  • HackerRank (раздел SQL) и LeetCode (раздел Database) — для решения задач уровня собеседований.
  • PGExercises — идеальное место для отработки оконных функций и JOINов на PostgreSQL.

Инструменты для локальной практики

  • Установи PostgreSQL на компьютер.
  • Скачай удобную графическую оболочку: DBeaver (бесплатная, кроссплатформенная) или pgAdmin.
  • Загрузи тестовую базу данных (например, классическую учебную базу dvdrental или Northwind), чтобы писать к ней реальные запросы.