О курсе
Что изучаем в курсе
SQL — основной язык взаимодействия с реляционными базами данных. Он нужен не только для того, чтобы получить строки из таблицы: с его помощью описывают структуру данных, изменяют записи, объединяют таблицы, считают агрегаты, управляют транзакциями и анализируют производительность запросов.
Курс построен от базовых операций к темам, которые становятся особенно важны в реальных приложениях: соединениям, подзапросам, индексам, транзакциям, уровням изоляции, блокировкам, нормализации и оптимизации.
Для закрепления практических навыков используются разные виды заданий:
- Тест с выбором варианта ответа;
- Дописать фрагмент запроса;
- Расставить части запроса в правильном порядке;
- Соединить термины с определением;
- Вписать точный ответ;
- Выделить ошибочную строку;
- Самостоятельно написать SQL-запрос.
Разные форматы практики помогают не только помнить синтаксис,
но и понимать результат выполнения запроса:
какие строки останутся после фильтрации, как изменится набор данных после
JOIN и почему агрегат возвращает именно такое значение.
Маршрут курса
Темы расположены так, чтобы новые конструкции опирались на уже знакомые:
- Основа SQL. Синтаксис, типы данных, создание и изменение данных, ограничения, ключи и базовые выборки.
- Получение и объединение данных. Фильтрация, сортировка, агрегатные функции, группировка, JOIN и подзапросы.
- Работа базы под нагрузкой. Индексы, транзакции, ACID, уровни изоляции, блокировки, нормализация и оптимизация запросов.
Если сложный запрос перестаёт быть понятным, полезно мысленно разобрать его на шаги: откуда приходят данные, какие строки отбрасываются, как таблицы соединяются и что вычисляется в итоговом наборе.
Как мы разбираем запросы
Примеры остаются небольшими: один запрос — одна основная идея. Так проще увидеть поведение SQL, не отвлекаясь на десятки таблиц и большое количество данных.
SELECT name, price
FROM products
WHERE price > 1000
ORDER BY price DESC;
Здесь важно не просто запомнить порядок ключевых слов.
Нужно видеть смысл запроса: взять данные из таблицы products,
оставить товары дороже 1000 и отсортировать результат по цене от большей к меньшей.
Дальше этот же подход будет использоваться и в более сложных запросах.