SQL — незаменимый навык для аналитиков, разработчиков, тестировщиков и продуктовых команд, работающих с данными. С его помощью можно извлекать из базы данных информацию, например, считать выручку по регионам, находить наиболее активных пользователей или выявлять причины оттока клиентов.
Кому пригодится SQL:
- Аналитикам данных для извлечения данных из баз, расчета метрик (выручка, конверсия, отток) и проверки гипотез.
- Бэкенд-разработчикам для написания запросов в коде, оптимизации баз данных и интеграции с приложениями. Вопросы по SQL часто попадаются разработчикам на собеседованиях.
- Тестировщикам (QA) для проверки данных в БД после обновлений, поиска ошибок в логике и валидации результатов тестов.
- Продакт-менеджерам для самостоятельного анализа метрик продукта, подготовки отчетов и обоснования решений.
- Любым другим профессиям, которые связаны с хранением и обработкой данных.
Собрали лучшие учебные пособия с практическими задачами и тренажеры для изучения SQL.
Быстрый старт для новичков
Учебные материалы для тех, кто впервые сталкивается с SQL, хочет научиться решать простые задачи и постепенно перейти к более сложным.
SQL. Руководство для использования с любыми SQL СУБД
Пособие по SQL-92 (SQL2) с примерами. Отдельно описаны отличия реализаций в MS Access, MS SQL Server, Oracle, MySQL и PostgreSQL.
Подходит для первого знакомства с запросами выбора, модификации и объектами структуры БД.
Лабораторный практикум по языку SQL в СУБД MySQL
Практикум с подборками задач и лабораторными работами по возрастанию сложности: SELECT, предикаты WHERE, агрегатные функции, вложенные запросы, JOIN, UNION и др.
Работа с базами данных Microsoft SQL Server. Сценарии практических занятий
Методические сценарии практических работ в среде MS SQL Server. Пригодится на семинарах в университетах и для подготовки к зачетам и экзаменам. Подойдет для новичков.
Основы: JOIN, агрегаты, подзапросы
Изучаем SQL. Генерация, выборка и обработка данных
Системный гид для новичков и пользователей среднего уровня. В каждой главе есть уроки по концепциям SQL. От создания баз данных и простых запросов до фильтрации, соединений (JOIN), подзапросов, группировок с агрегатами, работы с множествами, условной логики, транзакций и индексов. Подходит для изучения тем вроде многотабличных запросов и HAVING.
SQL за 10 минут
30 коротких уроков по базовым операциям SQL. Содержит выборки, фильтрацию, сортировки, агрегаты, соединения таблиц и подзапросы. Подходит, когда нужно быстро закрепить JOIN и HAVING на практических примерах.
Язык SQL. Базовый курс (учебно-практическое пособие)
Практикум по SQL с большим количеством заданий в PostgreSQL. Практика с выборками, группировками, соединениями, подзапросами и базовыми приемами оптимизации. Формат теория + упражнения.
Средний уровень: оконные функции и CTE
Подойдет: аналитикам и разработчикам, которым нужно уверенно применять оконные функции (ROW_NUMBER, LAG, LEAD, RANK и т. п.) и CTE, CTE RECURSIVE без лишних подзапросов.
Оконные функции SQL. Анализ данных на практике
Прикладное введение в оконные функции: устройство окна, PARTITION, ORDER, фреймы, ранжирующие и смещающие функции. Автор делает упор на практику («практические задания в песочнице»). Подходит для переключения с GROUP BY на окна.
Оконные функции в T-SQL
Практикум по всем классам оконных функций в SQL Server: агрегирующие, ранжирующие, смещения, упорядоченные наборы. Разборы задач, особое внимание к производительности.
SQL. Сборник рецептов
Инструкции в стиле «книги рецептов»: десятки практических советов для Oracle, DB2, SQL Server, MySQL, PostgreSQL. Есть разделы, которые посвящены аналитическим приемам: текущие суммы, скользящие агрегаты, развороты, нестандартные группировки. Принцип: задача — готовое решение.
Продвинутый уровень: оптимизация, индексы, планы, транзакции
Для тех, кто заботится о производительности и хочет не только понимать принцип работы запросов, но и оптимизировать их.
Антипаттерны SQL. Как избежать ловушек при работе с базами данных
Кейс-бук по типовым ошибкам в моделировании, индексации, запросах и транзакциях с пошаговым рефакторингом решений. На кейсах видно, почему запрос тормозит, и как «починить».
Use The Index, Luke!
Онлайн-гайд по индексированию и тюнингу SQL. Разбор индексов и доступа к данным для PostgreSQL, Oracle и SQL Server.
Практические примеры с типами индексов (B-Tree, частичные, функциональные, кластерные, охватывающие), предикатами (операторы равенства, функции, переменные, диапазонные поиски, LIKE-фильтры, комбинирование индексов), селективностью, кардинальностью (оценка количества уникальных значений в столбце или строк в результате запроса), чтением планов выполнения и практическими демонстрациями на примерах с тестами в разных версиях баз данных.
Интерактивные тренажеры от простых задач к сложным и автопроверкой
SQL-EX
Бесплатный онлайн-тренажер с задачами по SELECT, WHERE, JOIN, агрегатам и автопроверкой решений.
Тренажер SQL Academy
Интерактивный тренажер с готовыми датасетами и проверкой. Доступен бесплатно и содержит задания легкого, среднего и сложного уровня.
Курс по SQL для анализа данных в формате тренажера от Skillfactory
На курсе можно освоить SQL, базы данных, DBeaver, ClickHouse, PostgreSQL.
SQL Tutorial с тренажерами и квизами (на английском)
На сайте есть туториал по SQL, а также встроенный редактор SQL запросов для проверки, упражнения, примеры и тесты. Также можно авторизоваться, чтобы отслеживать свой прогресс.
SQLBolt
Серия коротких интерактивных уроков прямо в браузере. От простых SELECT к подзапросам и объединениям. В каждом шаге есть тренажерные задания.
Leetcode
Большая база задач уровня от базового до продвинутого, автопроверка и трекинг прогресса. Хорошо подходит для интервальной практики перед собеседованиями.
Игра SQL Murder Mystery
Бесплатная детективная «игра-расследование» по SQL. Отлично тренирует чтение схемы, построение гипотез и цепочек запросов.
Практика на реальных данных и примеры
Публичные наборы данных в Google BigQuery (хранилище для больших данных), доступны бесплатно через консоль.
Sandbox — режим для новичков без карты и биллинга (первый ТБ запросов в месяц бесплатно). Для практики подойдут датасеты Stack Overflow (вопросы и ответы с сайта) и NYC Taxi Trips (поездки такси в Нью-Йорке).
Платформа с тысячами бесплатных датасетов и notebooks для запуска SQL-кода онлайн.
Для начала работы можно пройти курс Intro to SQL.
Учебные базы для локальной тренировки
Это готовые базы с данными и схемами (дампы для импорта), предназначенные для практики SQL. Поддерживают несколько СУБД.
База о кинотеатрах: аренды фильмов, категории, актеры. Схемы и дампы доступны для скачивания.
База о музыкальном магазине: счета, клиенты, треки. Поддерживает PostgreSQL, SQLite, MySQL, SQL Server.