SQL クエリ フォーマッター
SQLクエリを瞬時にフォーマット・整形・シンタックスハイライトします。無料・安全・アップロード不要。
.sqlファイルをドラッグ&ドロップ
または以下にSQLクエリを貼り付け
SQLクエリを瞬時にフォーマット・整形・シンタックスハイライトします。無料・安全・アップロード不要。
または以下にSQLクエリを貼り付け
SQL クエリは、多くのテーブルにわたる結合、ネストされたサブクエリ、多くの条件を含む大きな WHERE 句、複雑な CASE 式など、すぐに長く複雑になります。数行に詰め込まれたコンパクト SQL は判読できません。 SQL を適切にインデントし、一貫した大文字を使用すると、クエリ構造が一目でわかるようになります。書式設定は、デバッグできるクエリとデバッグできないクエリの違いです。
このフォーマッタは SQL を解析し、インデントされ、大文字と小文字が正しく区別された出力を出力します。 SQL キーワード (SELECT、FROM、WHERE、JOIN、GROUP BY) は通常大文字で、テーブル名と列名はソースと一致し、インデントはネストを反映します (サブクエリは親内でインデントされ、CASE ブランチはインデントされます)。複数の方言のサポートにより、MySQL、PostgreSQL、SQL Server、Oracle、SQLite の違いが処理されます。
フォーマットは非破壊的であり、フォーマットされたクエリは機能的に入力と同一です。空白文字と大文字小文字のみが変わります。
フォーマットされていない高密度の SQL を読むのは精神的に負担がかかります。どの条件がどの JOIN に属しているのか、サブクエリの開始位置と終了位置、CASE 分岐の関連性などを特定することは、すべてが数行に及ぶ場合には困難になります。フォーマットされた SQL は読み取りが速く、構造の誤読によるバグが軽減されます。
コードレビューには特にメリットがあります。レビュー担当者は、クエリがフォーマットされたときにどのような動作をするかをすぐに把握できます。レビュー中にフォーマットされていない SQL を読み取ると、スキップやラバースタンプが奨励されます。フォーマットされた SQL は、クエリが変更されたときに意味のある差分も生成します。
クエリを貼り付け、「形式」をクリックします。
データベースが異なれば文法が異なる方法で拡張されるため、SQL 解析には方言を理解する必要があります。通常、フォーマッタはトークナイザーを使用してキーワード、識別子、リテラル、句読点を識別し、トークン間の空白とインデントのルールを使用して出力を生成します。
インデント規則: SELECT、FROM、WHERE、GROUP BY、ORDER BY をそれぞれ別の行に記述します。 FROM の下でインデントされた後続の行で結合されたテーブル。読みやすくするために、WHERE 内の条件を別の行に記述します。独自のインデントされたブロック内のサブクエリ。
大文字と小文字の規則: キーワードは大文字 (SELECT、FROM、WHERE) が最も一般的です。チームによっては小文字を好む場合があります。識別子 (テーブル名と列名) では、ソースの大文字と小文字が保持されます。