Зачем форматировать SQL
Запрос из логов или ORM приходит одной строкой на несколько сотен символов. Разобраться, какие таблицы соединяются и по каким условиям, в таком виде почти невозможно. Форматирование не меняет логику, но превращает нечитаемую строку в структуру, где видна каждая часть.
- Отладка — запрос из логов приложения или профилировщика
- Ревью кода — понятный запрос проще проверить на ошибки
- Обучение — структура сложного запроса становится наглядной
- Документация — примеры в читаемом виде
- Единый стиль — все запросы в проекте выглядят одинаково
Как принято форматировать
Общепринятого стандарта нет, но сложились устойчивые практики. Ключевые слова пишут заглавными — так они визуально отделяются от имён таблиц и колонок. Каждое крупное предложение начинается с новой строки: SELECT, FROM, WHERE, GROUP BY, ORDER BY.
Соединения выносят на отдельные строки с условием ON, а условия в WHERE, соединённые через AND, разбивают построчно — так проще увидеть, какое из них лишнее или неверное.
Ограничения инструмента
Форматтер работает по правилам разбора текста, а не как полноценный парсер SQL. С обычными запросами он справляется хорошо, но на очень сложных конструкциях с вложенными подзапросами в несколько уровней или диалектными расширениями результат может потребовать ручной правки.
Синтаксис не проверяется: инструмент отформатирует и запрос с ошибкой. Для проверки корректности используйте саму базу данных.