Тренажёр SQL Телеграм-канал

Тренажёр SQL онлайн: SQL-запросы с проверкой

Что это за тренажёр

Бесплатный онлайн-тренажёр SQL для начинающих и для тех, кто готовится к работе тестировщиком. Регистрация и установка не нужны: учебная база данных интернет-магазина обуви работает прямо в браузере. Вы пишете SQL-запрос, тренажёр сразу выполняет его, показывает результат и говорит, верно ли решена задача.

Тренажёр состоит из двух частей. Шпаргалка по SQL коротко объясняет команды с примерами на учебной базе. Двадцать одна задача ведёт от простого SELECT до соединения таблиц, группировки и изменения данных. К каждой задаче есть подсказка и готовый ответ.

Начать решать задачи

Темы заданий

  • Выборка данных: SELECT и WHERE
  • Выбор нужных столбцов
  • Сравнения, AND и OR
  • Поиск по части текста: LIKE
  • Пустые значения: IS NULL
  • Функции COUNT, SUM, MIN и MAX
  • Сортировка: ORDER BY, ASC и DESC
  • Ограничение выдачи: LIMIT
  • Диапазоны: BETWEEN
  • Группировка: GROUP BY и HAVING
  • Соединение таблиц: JOIN
  • Изменение данных: INSERT, UPDATE и DELETE

Как устроено задание

Сверху слева лежат таблицы учебной базы с настоящими данными: товары, остатки на складе, покупатели, корзины и заказы. Таблицы переключаются кнопками, у ключевых столбцов стоят отметки PK и FK. Сверху справа поле для SQL-запроса и кнопка «Выполнить». Пока вы пишете, тренажёр подсказывает команды, таблицы и столбцы и сразу отмечает ошибки в синтаксисе. Под таблицами и полем запроса стоит условие задачи, подсказка и кнопка «Ответ».

Тренажёр сравнивает результат с эталоном и подсказывает, что не так: не те столбцы, лишние строки, другой порядок или ошибка в синтаксисе. Ошибки показываются так же, как их пишет PostgreSQL.

Кому пригодится

Тем, кто готовится к первой работе тестировщиком. На собеседовании почти всегда просят написать SQL-запрос, а в работе SQL нужен, чтобы проверить, правильно ли приложение сохранило данные после запроса к API или действия на сайте. Задач хватает примерно на час, каждую можно решать сколько угодно раз.

Что такое SQL простыми словами

SQL (Structured Query Language, читается «эс-кью-эль» или «сиквел») — язык запросов к базам данных. На нём база получает просьбы: найди, посчитай, добавь, измени, удали. Почти все сайты и приложения хранят пользователей, товары, заказы и платежи в реляционных базах данных и работают с ними через SQL.

В SQL-запросе описывают, какой результат нужен, а как его получить, решает сама база. Поэтому основы осваиваются за несколько вечеров даже без опыта в программировании.

Команды SQL делят на группы. Тестировщик чаще всего пишет запросы из первой группы: читает и меняет данные.

ГруппаКомандыДля чего
Работа с данными (DML)SELECT, INSERT, UPDATE, DELETEчитать, добавлять, менять и удалять строки
Структура базы (DDL)CREATE, ALTER, DROPсоздавать, менять и удалять таблицы
Права (DCL)GRANT, REVOKEвыдавать и забирать права пользователей
Транзакции (TCL)BEGIN, COMMIT, ROLLBACKподтверждать или отменять несколько изменений разом

База данных SQL: таблицы, строки и столбцы

Реляционная база данных — это набор связанных между собой таблиц. Таблица SQL похожа на лист Excel: каждая строка — одна запись (товар, покупатель, заказ), каждый столбец — одно свойство записи (название, цена, дата). Но у каждого столбца строгий тип данных, а связи между таблицами база проверяет сама: положить в корзину товар, которого нет в каталоге, не получится.

В учебной базе тренажёра шесть таблиц: каталог товаров products, остатки на складе stock, покупатели users, корзины cart_items, заказы orders и товары в заказах order_items. Таблица каталога в PostgreSQL создаётся так:

CREATE TABLE products (
  sku       VARCHAR(20) PRIMARY KEY,
  name      VARCHAR(200) NOT NULL,
  gender    VARCHAR(10) NOT NULL,
  price     INTEGER NOT NULL,
  old_price INTEGER
);

Типы данных SQL

ТипЧто хранитПример
INTEGERцелые числацена 6990, количество 2
NUMERIC, DECIMALточные дробные числа, например деньги с копейками1499.90
VARCHAR, TEXTстроки'W-101', 'Кеды Mia'
DATE, TIMESTAMPдата или дата со временем'2025-03-14 10:15:00'
BOOLEANда или нетtrue, false

NULL — особое значение «данных нет». Это не ноль и не пустая строка, поэтому его ищут через IS NULL. В учебной базе NULL стоит в старой цене old_price у товаров без скидки.

Примеры SQL-запросов

Запросы, которые тестировщик пишет чаще всего. Их можно скопировать в поле запроса любого задания и выполнить.

Что нужноSQL-запрос
Посмотреть, что лежит в таблицеSELECT * FROM products LIMIT 10;
Найти одну записьSELECT * FROM products WHERE sku = 'W-101';
Проверить фильтр на сайтеSELECT sku, name, price FROM products WHERE gender = 'women' AND price < 7000 ORDER BY price;
Найти товары со скидкойSELECT sku, name, price, old_price FROM products WHERE old_price IS NOT NULL;
Посчитать товары в каждой группеSELECT gender, COUNT(*) FROM products GROUP BY gender;
Собрать корзину покупателя из двух таблицSELECT p.name, c.size, c.qty, p.price FROM cart_items c JOIN products p ON p.sku = c.sku WHERE c.user_id = 1;
Поменять ценуUPDATE products SET price = 7490 WHERE sku = 'W-101';

Какой SQL бывает: PostgreSQL, MySQL, Microsoft SQL Server

Язык SQL один, он описан в международном стандарте. Но каждая система управления базами данных (СУБД) добавляет к стандарту свои функции и правила, и такой вариант языка называют диалектом. Основные команды — SELECT, WHERE, JOIN, GROUP BY, INSERT, UPDATE, DELETE — во всех диалектах пишутся одинаково.

СУБДДиалектГде встречается
PostgreSQLстандартный SQL, процедуры на PL/pgSQLбесплатная, очень распространена в российских компаниях, в том числе в российской сборке Postgres Pro
MySQL, MariaDBстандартный SQL со своими особенностямисайты, интернет-магазины, веб-сервисы
Microsoft SQL Server (MS SQL)T-SQL (Transact-SQL)банки, крупный бизнес, системы на продуктах Microsoft, часть баз 1С
Oracle DatabasePL/SQLбанки, телеком, крупные государственные системы
SQLiteупрощённый SQLвстроена в мобильные приложения и браузеры; на ней работает этот тренажёр

Microsoft SQL Server и MS SQL: чем отличаются запросы

Microsoft SQL Server, или MS SQL, — СУБД компании Microsoft. Её вариант языка называется T-SQL. Для учёбы есть бесплатные редакции: Express с ограничением на размер базы и Developer, в которой есть всё, но которую нельзя использовать в рабочих системах.

Если на работе у вас Microsoft SQL Server, тренажёр всё равно подойдёт: почти все запросы из заданий выполнятся там без изменений. Отличаются в основном мелочи:

Что нужноPostgreSQLMicrosoft SQL Server
Первые 5 строкSELECT … LIMIT 5SELECT TOP 5 …
Пропустить 10 строк и взять 5LIMIT 5 OFFSET 10ORDER BY … OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY
Склеить строкиname || ' ' || skuname + ' ' + sku или CONCAT(name, ' ', sku)
Текущие дата и времяNOW()GETDATE()
Поиск без учёта регистраILIKELIKE: обычно регистр и так не различается
Неудобное имя столбца"order"[order]
Да или нетBOOLEANBIT: 1 или 0
Автонумерация строкGENERATED ALWAYS AS IDENTITYIDENTITY(1,1)

SQL Server Management Studio, DBeaver и другие программы для SQL

Запросы к настоящей базе пишут в программе-клиенте. Её подключают к серверу базы данных: указывают адрес, порт, имя пользователя и пароль, а дальше пишут SQL так же, как в этом тренажёре.

ПрограммаДля каких базГде работает
SQL Server Management Studio (SSMS)Microsoft SQL Server и Azure SQLтолько Windows, бесплатно
DBeaver CommunityPostgreSQL, MySQL, MS SQL Server, Oracle, SQLite и десятки другихWindows, macOS, Linux, бесплатно
pgAdminPostgreSQLWindows, macOS, Linux, бесплатно

Когда говорят «SQL Studio» или «SQL Management», обычно имеют в виду SSMS — SQL Server Management Studio. На Mac её нет, поэтому с MS SQL Server на Mac работают через DBeaver. На курсе Test School ученики подключаются к учебной базе PostgreSQL через DBeaver: он подходит почти к любой базе, которая встретится на работе.

Какой SQL учить тестировщику

Начинайте с основ стандартного SQL — они везде одинаковые. Кто уверенно пишет SELECT с условиями, сортировкой, группировкой и JOIN, тот на новой работе переключится на любой диалект за пару дней.

Если нужно выбрать одну систему, берите PostgreSQL: она бесплатная, ставится на любой компьютер, хорошо описана на русском и очень распространена в российских компаниях. Microsoft SQL Server стоит посмотреть отдельно, если откликаетесь в банки, в крупный бизнес или туда, где работают на продуктах Microsoft.

Минимум для собеседования джуниор-тестировщика: SELECT, WHERE, AND и OR, LIKE, IS NULL, ORDER BY, COUNT и другие агрегатные функции, GROUP BY и HAVING, INNER JOIN и LEFT JOIN, INSERT, UPDATE и DELETE. Всё это есть в 21 задаче тренажёра.

Частые вопросы

Где потренироваться в SQL онлайн бесплатно?

Прямо здесь: тренажёр бесплатный, работает без регистрации и без установки программ. Это часть учебной программы школы, выложенная в открытый доступ.

Подойдёт ли новичку без опыта?

Да. Задачи идут от простого к сложному, таблицы с данными всегда перед глазами, к каждой задаче есть подсказка, а если не получается, можно открыть ответ и разобрать его.

Чем SQL отличается от SQL Server и MS SQL?

SQL — это язык запросов. Microsoft SQL Server, он же MS SQL, — конкретная программа-СУБД от Microsoft, которая хранит данные и понимает SQL в своём диалекте T-SQL. PostgreSQL и MySQL — такие же СУБД других разработчиков.

Подойдёт ли тренажёр, если на работе Microsoft SQL Server?

Да. Основные команды в MS SQL такие же. Главное отличие, которое встретится в заданиях: вместо LIMIT 5 в конце запроса там пишут TOP 5 сразу после SELECT.

Какой это SQL?

Запросы пишутся так же, как в PostgreSQL: текст в одинарных кавычках, большие и маленькие буквы в значениях различаются. Внутри тренажёра работает SQLite, поэтому отдельные тонкости PostgreSQL здесь не проверяются.

Где писать SQL-запросы к настоящей базе?

В программе-клиенте: SQL Server Management Studio для Microsoft SQL Server на Windows или DBeaver, который работает с любыми базами на Windows, macOS и Linux.

Нужно ли что-то устанавливать?

Нет. Тренажёр работает в любом современном браузере, на компьютере и на телефоне.

Что делать после тренажёра?

Закрепить на живом продукте: подключиться к настоящей базе через DBeaver, проверять данные после запросов к API, писать тестовую документацию. Этому учим на курсе — посмотрите программу или загляните в телеграм-канал. Потренироваться в инструментах браузера можно в тренажёре DevTools.