CodeRang
С чего начать

SQL онлайн: компилятор и песочница для запросов

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

Обновлено · Команда SQL Arena

Что потренируете

  • Создавать таблицы и тестовые данные
  • Выполнять SQL-запросы в браузере
  • Проверять JOIN и агрегаты на своих данных
  • Сравнивать поведение разных SQL-диалектов
  • Переходить от эксперимента к задачам с автопроверкой

Пример задачи в тренажёре

Так выглядит задача в SQL Arena: условие, редактор, результат и схема базы.

Пред.След.Случайная
ЗаданиеОтправкиAI Mentor
Проверяем агрегирующий запрос в SQL-песочнице

Есть таблица кампаний и связанные с ними конверсии. Для каждой кампании выведите её название в колонке name, число конверсий в conversions_count и суммарную выручку в total_revenue. Отсортируйте результат по выручке по убыванию, а при равной выручке — по названию кампании.

Запрос 1PostgreSQLv16
SELECT
  c.name,
  COUNT(cv.id) AS conversions_count,
  SUM(cv.revenue) AS total_revenue
FROM campaigns c
JOIN conversions cv ON cv.campaign_id = c.id
GROUP BY c.id, c.name
ORDER BY total_revenue DESC, c.name;
Отправить
Результатcampaignsconversions
Ответ принят

Как запустить SQL-запрос онлайн: разбор примера

В песочнице сначала нужны данные, на которых можно проверить идею. Таблица campaigns хранит по одной строке на кампанию. У неё первичный ключ id. В conversions каждая строка — отдельная конверсия, а campaign_id ссылается на campaigns.id. Такая пара таблиц подходит, чтобы проверить сразу JOIN, COUNT, SUM, GROUP BY и сортировку.

Запрос начинается с JOIN. Условие cv.campaign_id = c.id связывает каждую конверсию с нужной кампанией. После соединения у одной кампании может оказаться несколько строк: например, у Creator Week их три. Поэтому COUNT(cv.id) считает число конверсий, а SUM(cv.revenue) складывает их выручку. GROUP BY c.id, c.name собирает соединённые строки обратно по кампаниям. id добавлен в группировку, чтобы каждая группа однозначно соответствовала конкретной записи campaigns, даже если когда-нибудь появятся кампании с одинаковым названием.

ORDER BY total_revenue DESC ставит кампании с большей выручкой выше. Но у Autumn Search и Winter Search сумма одинаковая — 200. Поэтому добавлен второй ключ сортировки c.name. Он делает порядок результата однозначным. Такой запрос удобно проверять именно в SQL-песочнице: можно поменять данные, добавить строку, изменить JOIN или агрегат и сразу посмотреть, как изменится результат.

SQL компилятор онлайн обычно используют как быстрый способ проверить запрос без настройки СУБД на компьютере. В SQL-песочнице можно создать тестовую схему, добавить строки через INSERT и затем выполнять SELECT, JOIN, GROUP BY и другие конструкции. Это также удобный SQL-редактор онлайн для небольших экспериментов: можно менять запрос и сразу смотреть результат. При этом важно учитывать диалект SQL: один и тот же код может отличаться в PostgreSQL, MySQL, ClickHouse и BigQuery.

SQLPostgreSQL v16
SELECT
  c.name,
  COUNT(cv.id) AS conversions_count,
  SUM(cv.revenue) AS total_revenue
FROM campaigns c
JOIN conversions cv ON cv.campaign_id = c.id
GROUP BY c.id, c.name
ORDER BY total_revenue DESC, c.name;
Результат запроса
nameconversions_counttotal_revenue
Creator Week3320
Autumn Search2200
Winter Search1200
Product Digest1110
Partner Launch2100

Ошибки при работе с SQL онлайн и песочницей

01

Забыть условие JOIN

Если написать JOIN без корректной связи campaign_id = id, можно получить декартово произведение. Каждая кампания соединится со множеством чужих конверсий, а COUNT и SUM станут значительно больше реальных значений.

02

Считать строки до понимания уровня данных

После JOIN одна строка campaigns размножается по числу связанных записей conversions. Это нормально. Ошибка возникает, когда COUNT(*) воспринимают как число кампаний, хотя после соединения он фактически считает строки результата.

03

Не задавать стабильную сортировку

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

Задачи по теме в тренажёре

Песочница

Песочница нужна, когда хочется выполнить SQL-запрос онлайн на собственных таблицах и быстро проверить гипотезу. Тренажёр решает другую задачу: там уже есть условие, схема и ожидаемый результат, а решение проверяется автоматически на скрытых данных. После экспериментов можно перейти к реальным задачам, например потренироваться сравнивать конверсию платформ, находить платформы с оплатами или агрегировать оплаченные события по городам. В SQL Arena есть 1 192 задачи, а 292 задачи доступны бесплатно без карты. Для PostgreSQL, MySQL, ClickHouse и BigQuery есть отдельные песочницы, поэтому один и тот же приём можно проверять в нужном диалекте.

Справочник по теме

Подробные статьи с синтаксисом и примерами в справочнике SQL Arena.

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

Как запустить SQL онлайн бесплатно?

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

Что такое SQL компилятор онлайн?

Так обычно называют веб-инструмент, который принимает SQL-запрос и выполняет его в подготовленной базе данных. Технически SQL не всегда «компилируется» в привычном смысле, но такой поисковый термин часто используется для онлайн-среды запуска запросов.

Что такое SQL песочница?

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

Можно ли выполнять SQL запросы онлайн?

Да. Онлайн-среда может выполнять SELECT, JOIN, агрегаты и другие поддерживаемые выбранным диалектом конструкции. Возможности зависят от того, какая СУБД используется внутри сервиса.

Чем SQL редактор онлайн отличается от обычного редактора кода?

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

Попробуйте SQL онлайн на практических задачах

Создайте таблицы, вставьте тестовые данные и проверьте запрос в PostgreSQL, MySQL, ClickHouse или BigQuery. Всё работает в браузере.

Открыть песочницу