SQLの整形方法について、見やすく理解しやすいコードを書くための基本的なポイントをまとめてみます。
インデントと改行のルール
インデントを統一することで、クエリの構造が明確になります。
以下は一般的なインデント・改行の例です。
キーワードごとに改行
主要なSQLキーワード(SELECT
, FROM
, WHERE
, GROUP BY
, ORDER BY
など)は改行して記述すると、セクションが視覚的に分かれ、読みやすくなります。
SELECT column1, column2
FROM table_name
WHERE condition1
GROUP BY column1
ORDER BY column2;
インデントを揃える
サブクエリやネストされた条件式にはインデントを使います。スペース数は好みによりますが、一般的に2~4スペースで揃えます。
SELECT column1,
column2
FROM table1
WHERE column1 IN (
SELECT sub_column
FROM sub_table
WHERE condition
);
キーワードの大文字・小文字
SQLキーワード(SELECT
, WHERE
, JOIN
など)は大文字で記述するのが一般的です。
これにより、キーワードとテーブルやカラム名が視覚的に区別しやすくなります。
カラムやテーブル名は小文字で揃えることが多いです。
カラムの縦並び
複数のカラムを選択する場合、カラム名を縦に並べると見やすくなります。カンマで終わる行を揃えると、カラムがすぐに確認でき、見た目も整います。
SELECT column1,
column2,
column3
FROM table_name
WHERE condition;
エイリアスの使用
テーブル名やカラム名が長い場合、エイリアスを使うと見やすくなります。
AS
を用いてエイリアスを付けると、元のカラムが分かりやすくなるだけでなく、クエリの読みやすさも向上します。
SELECT t.column1 AS alias1,
t.column2 AS alias2
FROM long_table_name AS t
WHERE t.column1 = 'value';
JOIN句の整形
複数のテーブルを結合する場合、JOIN
句をインデントして条件を揃えると見やすくなります。
また、ON
条件も改行して書くことで、どの条件で結合されているかが明確にわかります。
SELECT t1.column1,
t2.column2
FROM table1 AS t1
JOIN table2 AS t2
ON t1.key = t2.key
WHERE t1.condition = 'value';
WHERE句やCASE句の整形
複数の条件がある場合、それぞれの条件を改行して書きます。
AND
やOR
で連結するときは、各条件をインデントし、条件の論理構造が明確になるようにします。
SELECT column1
FROM table_name
WHERE (condition1 = 'value1' OR
condition2 = 'value2') AND
condition3 = 'value3';
また、CASE
文を使う場合は、構造がわかりやすいようにインデントします。
SELECT CASE
WHEN condition1 THEN 'Result1'
WHEN condition2 THEN 'Result2'
ELSE 'Default'
END AS result
FROM table_name;
コメントを付ける
コードの意味や条件の背景を残すために、コメントを追加します。
コード全体や複雑な条件には、適切な場所にコメントを入れましょう。
-- 顧客の年齢に基づいてランクを分類する
SELECT CASE
WHEN age >= 65 THEN 'Senior'
WHEN age >= 18 THEN 'Adult'
ELSE 'Minor'
END AS age_group
FROM customers;
フォーマッター・生成AIの利用
SQLの整形を自動で行うフォーマッターを使うと、整形のルールを一貫させやすくなります。
オンラインのSQLフォーマッターやIDEに組み込まれたフォーマッター機能を利用するのもおすすめです。
また、ChatGPTなどの生成AIでも、SQLを貼り付けて「整形して」と入力すれば、アウトプットしてくれます。
ChatGPT 4oを使用して、整形を行った結果を示します。
オンラインのツールや生成AIを活用する場合は、利用規約やセキュリティポリシーをご参照いただき、セキュリティなどにご留意の上、使用していただければと思います。
まとめ
SQLを見やすく整形するための基本的なルールとして、インデントや改行、キーワードの大文字統一、カラムの縦並び、エイリアスなどがあります。また、SQLフォーマッターも活用し、チームでコーディング規約を揃えると一貫性が保たれ、誰が書いても読みやすいSQLコードが書けます。