Тренажёр SQL для тестировщиков
От SELECT до оконных функций. Товары, заказы, покупатели и оплаты: те же таблицы, по которым на работе проверяют, что интерфейс показал правильные данные.
- Задач
- 80
- Среда
- PostgreSQL, база магазина
- Тариф
- Базовый на выбор или Pro

Что тренируем
- Выборки: SELECT, WHERE, ORDER BY, LIMIT, DISTINCT, LIKE, BETWEEN и работа с NULL
- JOIN, LEFT JOIN и self join по таблицам товаров, заказов, покупателей и оплат
- Агрегаты и группировка: COUNT, SUM, GROUP BY, HAVING, CASE и COALESCE
- Подзапросы, EXISTS, WITH и оконные функции: OVER, ROW_NUMBER, LAG, нарастающий итог
- Изменение данных: INSERT, UPDATE, DELETE; даты и строки: date_trunc, extract, to_char
Как устроена проверка
Запрос выполняется на настоящем PostgreSQL и сверяется с эталонной выборкой. Если результат отличается, видно, где именно; к каждой задаче есть подсказка и карточки справочника.
Среда: PostgreSQL, база магазина. Всё работает в браузере, устанавливать ничего не нужно.
Уровни и число задач
Четыре уровня. Следующий открывается, когда решена треть задач предыдущего (30 %).
| Уровень | Задач | Открывается |
|---|---|---|
| Простой | 20 | сразу |
| Средний | 20 | после 6 из 20 задач уровня «Простой» |
| Сложный | 20 | после 6 из 20 задач уровня «Средний» |
| Продвинутый | 20 | после 6 из 20 задач уровня «Сложный» |
Примеры задач
По задаче с простого и продвинутого уровней и две со среднего, с условием как в тренажёре. Проверка, подсказки и справочник открываются после регистрации.
- Простой
Все товары
Выведи все колонки всех товаров из таблицы
products. - Средний
Заказы по статусам
Посчитай, сколько заказов в каждом статусе. Выведи
statusи количество. - Средний
Сводка по ценам товаров
Выведи одной строкой три значения по всем товарам: минимальную цену
min_price, максимальнуюmax_priceи среднююavg_price, округлённую до 2 знаков. - Продвинутый
Отменить неоплаченные старые заказы
Переведи в статус
cancelledвсе заказы со статусомnew, созданные раньше2025-03-01.
Справочник
Статьи справочника SQL открыты без регистрации. Карточки команд с примерами на учебной базе и подсказки к задачам — после регистрации.
- Как читается SQL-запрос: порядок выполненияВ каком порядке PostgreSQL на самом деле выполняет части запроса и почему из-за этого имя из AS работает в ORDER BY, но не в WHERE
- NULL и три значения истиныЧто значит пустое значение NULL, почему сравнение с ним не даёт ни да, ни нет и в каких местах запроса это тихо портит результат
- Как читать схему shop: таблицы и связиКакие восемь таблиц есть в учебной базе интернет-магазина, что в них лежит и как они ссылаются друг на друга через id
- JOIN на пальцахКак соединение склеивает строки двух таблиц, чем JOIN отличается от LEFT JOIN, как найти строки без пары и откуда в результате берутся лишние строки
- Агрегаты и группировка по шагамОдин запрос с GROUP BY, собранный по шагам от FROM до ORDER BY, — что происходит со строками на каждом шаге и где чаще всего ошибаются
- Оконные функции против GROUP BYОдин и тот же вопрос, решённый через GROUP BY и через оконную функцию, — чем они отличаются и когда строки нужно сохранить, а когда свернуть
В каком тарифе
SQL входит в три тренажёра на выбор в Базовом и во все тренажёры в Pro. Демо открывает всё.
Демо0 ₽
3 дня бесплатно после регистрации, без карты: все тренажёры и справочник
Базовый399 ₽ за 30 дней
Три тренажёра на выбор на 30 дней
Pro999 ₽ за 30 дней
Все тренажёры и Йова