SQLを読みやすく整形するコツ【オンライン整形ツール付き】

文字・テキスト系

長くなったSQLは、改行・インデント・キーワードの統一だけで驚くほど読みやすくなります。本記事では、現場で使える整形のコツとアンチパターンをまとめ、最後に無料のSQL整形ツールをご紹介します。

整形(フォーマット)のメリット

  • 可読性が上がる:SELECT / FROM / WHERE などのブロックが一目で分かる
  • レビュー効率UP:差分が見やすくなり、ミスの発見が早い
  • 保守性向上:あとで自分や他人が読んでも迷わない

基本ルール(まずはこれだけ)

  1. 主要キーワードで改行:SELECT / FROM / WHERE / GROUP BY / HAVING / ORDER BY / JOIN
  2. 句内で整列:SELECT句のカラムは改行し、同じインデントに
  3. インデント幅を統一:2 or 4スペース。タブ混在は避ける
  4. キーワード表記を統一:大文字 or 小文字のどちらか

整形例(Before → After)

Before

select u.id,u.name,o.id as order_id,o.total
from users u inner join orders o on u.id=o.user_id
where o.status='PAID' and u.deleted_at is null
order by o.created_at desc;

After

SELECT
    u.id,
    u.name,
    o.id AS order_id,
    o.total
FROM
    users u
    INNER JOIN orders o ON u.id = o.user_id
WHERE
    o.status = 'PAID'
    AND u.deleted_at IS NULL
ORDER BY
    o.created_at DESC;

SQLを今すぐ整形する

JOINとサブクエリの整形

JOIN はテーブルごとに改行し、ON 条件は次行でインデント。サブクエリは括弧内をさらにインデントします。

SELECT
    u.id,
    sq.latest_total
FROM
    users u
    LEFT JOIN (
        SELECT
            user_id,
            MAX(total) AS latest_total
        FROM orders
        GROUP BY user_id
    ) sq ON sq.user_id = u.id;

よくあるアンチパターン

  • 1行に詰め込む:レビュー不能&差分が追えない
  • インデントが崩れている:ネストの深さが分からずバグのもと
  • キーワードの大小が混在:可読性低下(チームでルール化)

オンライン整形ツール(当サイト)

当サイトのSQL整形ツールは、主要キーワードでの改行・インデント・キーワード大小統一・1行圧縮(ミニファイ)に対応。オプションからインデント幅小文字キーワードも選べます。

  • ブラウザ上で動作(サーバー送信なし)
  • スマホ・PC対応のシンプルUI
  • コピー・再整形がワンクリック

SQL整形ツールを使う

ケース別テクニック

複雑なWHERE条件

WHERE
    (status = 'PAID' OR status = 'SHIPPED')
    AND created_at >= '2025-01-01'
    AND (region = 'JP' AND channel IN ('web','app'))

キーワードを小文字に統一したい場合

select
    u.id,
    u.name
from
    users u
where
    u.active = true;

まとめ

  • 主要キーワードで改行、句内整列、インデント統一が基本
  • JOIN・サブクエリはネストで見通しを確保
  • チームルール(インデント幅/大文字小文字)を決めて運用

無料でSQLを整形する

コメント

タイトルとURLをコピーしました