С этим инструментом что-то не так?

О «Форматирование 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-запрос

  1. Вставьте SQL

    `SELECT`, `INSERT`, `UPDATE`, `DELETE` или DDL — в поле "SQL". Поддерживаются основные диалекты (Postgres, MySQL, SQLite, MS SQL); диалект-специфичная синтаксика (`ROWS BETWEEN`, `JSON_VALUE` и т. п.) сохраняется как есть, без нормализации.

  2. Запуск

    Результат: единственное поле `formatted`. Ключевые слова в верхнем регистре (`SELECT`, `FROM`, `JOIN`, `WHERE`), столбцы — с отступом под `SELECT`, каждый JOIN — на своей строке, цепочки `AND` / `OR` разбиваются под `WHERE`.

  3. Комментарии и строки

    Однострочные (`-- …`), блочные (`/* … */`) и Postgres-`--`-комментарии проходят. Строковые литералы (`'foo'`) и quoted-идентификаторы (`"col"`, `` `col` ``) не трогаются — внутри них трактуется как непрозрачное.

  4. Чего не меняет

    Никаких rewrite-запроса, оптимизационных хинтов или валидации схемы. Если визуально кажется, что JOIN-ы переупорядочились или скобки сдвинулись, это форматтер делает косметические выборы — семантика не меняется.