Форматирование SQL

Вставьте запрос, пришедший из лога или ORM одной строкой, — и он снова станет запросом: SELECT, FROM, WHERE и каждый JOIN на своих строках.

Код никуда не уходит: форматирование идёт в браузере.

Как пользоваться

  1. Вставьте запрос в первое поле.
  2. Решите, писать ли ключевые слова заглавными и выносить ли каждое поле на свою строку.
  3. Скопируйте результат.

Полезно знать

Почему литералы под защитой

В запросе вполне может оказаться значение вида 'order by name' или комментарий со словом SELECT. Форматтер, работающий поиском и заменой, разорвал бы строку в этом месте или поднял регистр у слова внутри ваших данных. Здесь строковые литералы и комментарии убираются в сторону перед форматированием и возвращаются на место в точности такими, какими были.

Зачем нужны переносы

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

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

Какой диалект поддерживается?

Клаузы, общие для PostgreSQL, MySQL, SQL Server и SQLite. Специфичный для диалекта синтаксис не переформатируется, но и не портится: незнакомые слова проходят как есть.

Проверяет ли он запрос на ошибки?

Нет. Он раскладывает то, что дали, и не разбирает синтаксис. Сломанный запрос останется сломанным, зато читаться будет легче.

Запрос уходит на сервер?

Нет. Всё происходит в браузере, и это важно: в запросах есть имена таблиц, а часто и значения из боевой базы.

Почему ключевые слова не стали заглавными?

Включите «Ключевые слова заглавными». Это дело вкуса, а не правило: многие команды пишут SQL целиком строчными.

Похожие инструменты