なぜSQLフォーマットが重要なのか
SQLは機能的に正しければ1行で書くことも可能ですが、長いクエリを読みやすくするためのフォーマットは、コードレビューの効率化・バグの発見・チームでの保守性向上に欠かせません。
基本的なフォーマット規約
SELECT
u.id,
u.name,
COUNT(o.id) AS order_count
FROM
users u
INNER JOIN orders o ON u.id = o.user_id
WHERE
u.created_at >= '2025-01-01'
AND u.status = 'active'
GROUP BY
u.id,
u.name
ORDER BY
order_count DESC
LIMIT 100;
主要な規約ポイント
- 予約語は大文字:SELECT・FROM・WHERE・JOIN・AND・ORなど
- 句ごとに改行:SELECT・FROM・WHERE・GROUP BY・ORDER BYは新しい行から開始
- カラムはインデント:SELECTの各カラムは2〜4スペースインデント
- テーブルエイリアス:JOIN時はわかりやすい短縮名を使う
- コメント活用:複雑なロジックには
-- コメントを付ける
長いIN句の書き方
WHERE status IN (
'active',
'pending',
'approved'
)
フォーマッターの活用
チームで一貫したフォーマットを維持するために、SQLフォーマッターを使うのが効果的です。手動での整形は時間がかかり、人によってスタイルが変わりやすいためです。CI/CDパイプラインに組み込むことで、自動的にフォーマットを強制できます。