メインコンテンツへスキップ

SQL フォーマッター

SQLクエリを読みやすく整形する無料オンラインツール。SELECT/JOIN/サブクエリ/UNIONに対応、キーワード大文字化・インデント幅選択可能。MySQL・PostgreSQL・SQLite・SQL Server対応、コードレビュー・クエリデバッグ・ドキュメント化に、ブラウザ完結で外部送信なし。

SQLクエリを自動でインデント・改行・キーワード大文字化して読みやすく整形するツールです。長くて複雑なSQL、複数JOIN、サブクエリを含むクエリの可読性を大きく向上させます。

SQL フォーマッター
インデント
SQLを入力してください...

// SQL フォーマッターの機能と特徴

こんな場面で役に立ちます

「先輩から渡されたSQLが1行にべた書きで読めない」「複数のJOINが入り組んでいて構造が把握できない」「サブクエリが深くネストされている複雑なクエリを整理したい」「コードレビューで指摘する前に整形したい」「本番SQLをドキュメントに載せたい」といった、SQLの可読性が問題になる場面で活躍します。

適切なインデントで構造が見える化

SELECT・FROM・WHERE・JOIN・GROUP BY・ORDER BY などの主要キーワードで自動改行し、サブクエリはインデントを一段深くします。1行50文字を超える長いWHERE条件も適切に改行されるので、複雑なクエリでも「何を取得して」「どこから結合して」「どう絞り込んで」いるかが一目でわかります。

キーワード大文字化で視認性UP

SQL のキーワード(SELECT・FROM・WHERE・JOIN 等)を大文字化することで、テーブル名やカラム名(小文字)と視覚的に区別できます。多くの企業のコーディング規約で採用されている定番の書き方で、コードレビュー時にも「キーワード大文字化ルール」の統一に役立ちます。

関連ツール

JSON の整形なら JSON整形ツール、YAML なら YAML⇔JSON変換、テキスト全般の整形なら 文字置換ツール が便利です。

// SQL フォーマッターに関するよくある質問

どんな時に使うと便利?
(1) 他人から受け取った1行べた書きSQL の解読、(2) 自分で書いた複雑なJOINやサブクエリを見返す時、(3) コードレビュー前の下ごしらえ、(4) SQLをドキュメントに載せる時の整形、(5) BIツールの生SQLをきれいにする時、といった場面で使います。可読性が上がるとバグ発見も早くなります。
どのSQLデータベースに対応してる?
標準SQL準拠なので、**MySQL**・**PostgreSQL**・**SQLite**・**SQL Server**・**Oracle**・**MariaDB**・**Snowflake**・**BigQuery** など、主要なRDBMS/データウェアハウスのクエリで動作します。データベース固有の関数(例: PostgreSQLの `JSON_AGG`)や方言も文字として保持されるので、そのまま整形結果を実行できます。
文字列リテラルの中身は変更される?
いいえ、シングルクォート(`'...'`)で囲まれた文字列リテラルの中身は一切変更しません。「WHERE name = 'select'」のような、キーワードと同じ文字列が入っていても大文字化されないので、意図しない改変を心配せずに使えます。
複数のJOINをきれいに整形できる?
はい、`INNER JOIN`・`LEFT OUTER JOIN`・`RIGHT JOIN`・`CROSS JOIN` などすべての JOIN 種類に対応しています。各 JOIN を新しい行に配置し、ON 条件も適切にインデントします。3〜4つの JOIN が絡み合った複雑なクエリでも、テーブル関係が視覚的に把握できます。
サブクエリはどう整形されますか?
括弧で囲まれたサブクエリは自動的に一段深いインデントに配置されます。ネストが深い場合はさらに階層的にインデントされるので、「どこからどこまでがサブクエリか」が一目でわかります。相関サブクエリ・スカラーサブクエリ・EXISTS 内のサブクエリなど、あらゆる形に対応しています。
インデント幅は選べる?
2スペース・4スペースから選択できます。プロジェクトのコーディング規約に合わせてください。企業や PostgreSQL コミュニティでは4スペースが多く、GitHub・スタートアップ系では2スペースが人気です。
キーワードを小文字にしたい
「キーワード大文字化」オプションをOFFにすれば、元の大文字小文字を保ったまま整形します。小文字派の方(`select` `from` `where` で統一)の方針にも合わせられます。
大文字化と読みやすさ、どっちが優先?
読みやすさ優先派なら「キーワード大文字化 ON + 4スペース」が最も可読性が高くなります。コンパクト派なら「大文字化 ON + 2スペース」、キーボードから小文字入力の速さ重視なら「大文字化 OFF」が向いています。プロジェクトごとの慣習に合わせてください。
生成されたSQLはそのまま実行できる?
はい、整形は空白と改行の追加・キーワードの大文字化だけで、SQLの実行意味は変わりません。整形結果をコピーしてそのままDBクライアント(TablePlus・DBeaver・pgAdmin等)に貼り付けて実行できます。
入力したSQLは外部に送信されますか?
いいえ、すべての整形処理はブラウザ内で完結します。入力したSQL・整形結果は外部に送信されません。本番DBのSQL、機密テーブルを含むクエリ、社内システム用SQLなども安心して整形できます。

// SQL フォーマッターの使い方

  1. SQLを貼り付け

    整形したいSQLを左側の入力欄に貼り付けます。1行べた書き、改行がバラバラ、インデントが不揃いなど、どんな状態のSQLでもOKです。

  2. オプションを選ぶ

    インデント幅(2/4スペース)と、キーワード大文字化のON/OFFを選択します。プロジェクトの規約に合わせて設定してください。

  3. 整形結果をコピー

    右側に整形済みSQLがリアルタイムで表示されます。COPYボタンでクリップボードに保存し、DBクライアント・コードエディタ・ドキュメントに貼り付けて活用してください。

カテゴリ コード