99 практических задач по SQL — от SELECT и WHERE до оконных функций, CTE и изменения структуры таблиц. Подойдут, чтобы научиться писать запросы с нуля, подтянуть JOIN и GROUP BY или подготовиться к собеседованию на аналитика данных, разработчика или тестировщика.
У каждой задачи есть рабочий контекст, схема таблиц и пример ожидаемого ответа. Решать их удобнее всего в онлайн-тренажёре SQL Arena: пишете запрос в браузере, нажимаете «Отправить» — и ответ сразу проверяется на скрытых данных. Ничего устанавливать не нужно, задачи работают на PostgreSQL, а многие ещё на MySQL и ClickHouse.
- Условие — короткая рабочая ситуация: что нужно узнать и в каком виде вывести.
- Таблицы — колонки, типы, первичные (🔑) и внешние (→) ключи.
- Колонки ответа и пример — какие поля ждёт проверка и как выглядят первые строки правильного результата.
- Ссылка «Решить онлайн» — задача в тренажёре: редактор, песочница с данными и автоматическая проверка.
Готовых решений здесь нет намеренно: задача, к которой подсмотрен ответ, ничему не учит. Тренажёр сравнит ваш запрос с эталоном на данных, которых вы не видите, и подскажет, в чём расхождение: лишние строки, не те колонки, неверный порядок.
- Лекарства, которые продаются без рецепта — лёгкая
- Количество клиентов из Берлина — лёгкая
- Платиновые участники программы лояльности — лёгкая
- Количество дальних рейсов — лёгкая
- Фитнес-клубы в Берлине — лёгкая
- Количество Premium-клиентов — лёгкая
- Пятизвёздочные отели сети — лёгкая
- Рок-артисты фестивальной базы — лёгкая
- Количество просторных номеров — лёгкая
- Количество фестивалей в 2024 году — лёгкая
- Виды животных на грани исчезновения — лёгкая
- Количество животных в секции Africa Savanna — лёгкая
- Витрина товаров: переименуй колонки — лёгкая
- Товары до 1000 рублей — лёгкая
- Доставленные заказы — лёгкая
- Карточка клиента: проекция с алиасами — лёгкая
- Товары с двух складов — лёгкая
- Каталог без архива — лёгкая
- Витрина склада: артикул, вес и цена с понятными именами — лёгкая
- Отзывы без оценки прочь, пустые комментарии — заглушкой — лёгкая
- Пульс продаж по месяцам — лёгкая
- Часы прослушивания по месяцам — лёгкая
- Сводка доставки по магазинам — лёгкая
- Первый цифровой след клиента — лёгкая
- Двойная регистрация одной посылки — лёгкая
- Частота покупок в аудиосервисе — лёгкая
- Кого пора возвращать в маркетплейс — лёгкая
- От заявки до одобрения KYC — лёгкая
- Самые читаемые книги библиотеки — лёгкая
- Помесячный отчёт по заказам Котомаркета — средняя
- Топ-3 категории товаров по выручке — средняя
- Средняя зарплата по отделам за 2023 год — средняя
- Доходные жанры книжного магазина — средняя
- Анализ производительности курьеров по доставленным посылкам — средняя
- Клиенты с покупками на сумму больше 500 — средняя
- Доходные категории товаров — средняя
- Кассовые сборы популярных жанров — средняя
- Самые плодовитые авторы с высоким рейтингом — средняя
- Полки второго уровня — лёгкая
- Один к одному, один ко многим — лёгкая
- Размножение строк после JOIN — лёгкая
- Пары сопоставимых квартир — лёгкая
- Сотрудники и их отделы — лёгкая
- Популярные автомобили с несколькими бронированиями — лёгкая
- Первые пять посылок в пути — лёгкая
- Топ игроки с высокой средней оценкой — средняя
- Анализ прибыльности маршрутов авиакомпании — средняя
- Товары с высоким оборотом и рентабельностью — средняя
- Самые активные авторы по количеству опубликованных статей — средняя
- Загруженные отделения клиники — средняя
- Лучшие гостиничные номера по среднему рейтингу и доходу — средняя
- Топ компании по среднему рейтингу отзывов соискателей — средняя
- Прибыльные номера отеля за квартал — средняя
- Врачи с максимальной нагрузкой пациентов — средняя
- Анализ убыточности страховых полисов по регионам — средняя
- Урожайность фермеров-лидеров по культурам — средняя
- Самые дорогие товары каталога — лёгкая
- Заказы российских клиентов — лёгкая
- Заказы выше среднего оплаченного чека — лёгкая
- Клиенты, которые уже оформляли заказы — лёгкая
- Товары без единой продажи — лёгкая
- Количество заказов у каждого клиента — лёгкая
- Самый доступный товар в каждой категории — лёгкая
- Сканы посылок после watermark — лёгкая
- Зрители документалок — лёгкая
- Топовые клиенты банка по сумме транзакций — сложная
- Поквартальная эффективность менеджеров продаж — сложная
- Топ курьеры по доставкам с учётом срочности — сложная
- Топ-3 сотрудников по суммарному доходу в каждом отделе — сложная
- Хиты месяца по новым трекам в плейлистах — сложная
- Топ-5 самых прослушиваемых артистов в плейлистах — сложная
- Рейтинг успеваемости студентов по кафедрам с динамикой оценок — сложная
- Рост выручки месяц к месяцу — сложная
- Паузы между прослушиваниями — лёгкая
- Флаг начала сессии в интернет-магазине — лёгкая
- Операционный баланс необанка — лёгкая
- Доля каждого товара в общей выручке через SUM() OVER () — средняя
- Зарплаты сотрудников: насколько выше или ниже среднего — средняя
- Рейтинг студентов по средней оценке внутри специальности — средняя
- Урожайность по сортам культур с рангированием — средняя
- Читатели-рекордсмены по жанрам — сложная
- Динамика выплат по страховым полисам — сложная
- Динамика платежей участников фитнес-клуба — сложная
- Прирост выручки автопарка по месяцам — сложная
- Кассовые рекорды кинозала по месяцам — сложная
- Восходящие звёзды тревел-агентства — сложная
- Динамика повторных визитов пациентов к врачам — сложная
- Скидка на игры жанра Action — лёгкая
- Засидить тестовые заказы с разными статусами — лёгкая
- Удалить все незакреплённые заметки — лёгкая
- Добавить первую заметку в дневник — лёгкая
- Закрепить все январские заметки 2024 года — лёгкая
- Добавить тестового пользователя в баг-трекер — лёгкая
- Удалить таблицу departments — лёгкая
- Добавить email сотрудника — лёгкая
- Удалить столбец salary из employees — лёгкая
- Переименовать столбец name в full_name — лёгкая
- Нормализация: разнести каталог книг в authors + books (PK/FK) — средняя
- Котомаркет: разнести заказ в 3НФ — средняя
Здесь 99 задач из открытой части тренажёра. В SQL Arena их больше 1 400: задачи с собеседований, курс SQL с нуля, курсы по аналитике, ClickHouse и Kafka, дуэли и рейтинг.
English version → sql-practice-problems
© SQL Arena, sql.coderang.dev