С этим инструментом что-то не так?
О «Форматирование SQL Онлайн»
Этот инструмент форматирует SQL с единым отступом, верхним регистром ключевых слов и переносами. Длинный SELECT с несколькими JOIN становится читаемым: SELECT/FROM/WHERE/JOIN/GROUP BY/ORDER BY чётко разделены.
Полезно при ревью сложных запросов, размещении SQL в документации, отладке prod-запросов из логов и обмене с коллегами. Однострочный SQL валиден, но практически нечитаем.
Поддерживаются современные диалекты (PostgreSQL, MySQL, SQL Server, Oracle, SQLite); корректно обрабатываются CTE (WITH), window-функции, подзапросы и тела процедур.
Как пользоваться этим инструментом
Как красиво отформатировать SQL-запрос
Вставьте SQL
`SELECT`, `INSERT`, `UPDATE`, `DELETE` или DDL — в поле "SQL". Поддерживаются основные диалекты (Postgres, MySQL, SQLite, MS SQL); диалект-специфичная синтаксика (`ROWS BETWEEN`, `JSON_VALUE` и т. п.) сохраняется как есть, без нормализации.
Запуск
Результат: единственное поле `formatted`. Ключевые слова в верхнем регистре (`SELECT`, `FROM`, `JOIN`, `WHERE`), столбцы — с отступом под `SELECT`, каждый JOIN — на своей строке, цепочки `AND` / `OR` разбиваются под `WHERE`.
Комментарии и строки
Однострочные (`-- …`), блочные (`/* … */`) и Postgres-`--`-комментарии проходят. Строковые литералы (`'foo'`) и quoted-идентификаторы (`"col"`, `` `col` ``) не трогаются — внутри них трактуется как непрозрачное.
Чего не меняет
Никаких rewrite-запроса, оптимизационных хинтов или валидации схемы. Если визуально кажется, что JOIN-ы переупорядочились или скобки сдвинулись, это форматтер делает косметические выборы — семантика не меняется.