Сделайте SQL-код читаемым
Запросы, скопированные из логов, сгенерированные ORM или написанные на скорую руку, часто выглядят как одна длинная строка, которую сложно читать и еще сложнее отлаживать. Этот SQL-форматер разбивает ваш запрос на понятные блоки — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY, — переносит каждый столбец и условие на новую строку и выравнивает отступы в подзапросах и выражениях CASE. Такой код проще проверять, сравнивать в системах контроля версий и обсуждать с коллегами.
Возможности
- 12 диалектов SQL, от стандартного SQL до MySQL, PostgreSQL, SQL Server, Oracle, BigQuery и Snowflake.
- Регистр ключевых слов: ВЕРХНИЙ, нижний или без изменений; применяется к ключевым словам, типам данных и функциям.
- Отступы: 2 пробела, 4 пробела или табуляция.
- Несколько запросов, разделенных точкой с запятой.
- Сохранение комментариев — как однострочных
--, так и многострочных/* */. - Копирование или скачивание результата в виде файла
.sql. - Конфиденциально: форматер работает локально прямо в вашем браузере.
До и после
Такой запрос:
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;
превращается в:
SELECT
u.id,
u.name,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.status = 'active'
GROUP BY
u.id,
u.name
ORDER BY
orders DESC;
Советы по стилю SQL
- Одно выражение на строку. Если начинать каждое основное выражение с новой строки, структура запроса будет видна с первого взгляда.
- Используйте понятные псевдонимы. Короткие псевдонимы, такие как
uиo, подходят для небольших запросов, но в длинных отчетах лучше использовать описательные. - Указывайте полные имена столбцов в JOIN (
orders.user_idвместоuser_id), чтобы избежать неоднозначности. - Соблюдайте единообразие форматирования во всем проекте, чтобы в истории изменений (diff) отображались реальные изменения, а не пробелы.
Связанные инструменты
Работаете с результатами запросов? Преобразуйте экспортированные данные с помощью конвертера CSV в JSON, отформатируйте ответы API с помощью форматтера JSON или сравните две версии запроса через инструмент сравнения текста.