守ってほしいSQLコーディング規約 スタイルガイド


1行に多くを詰め込むひどい SQL をいくつも見てきたので、 書かずにはいられませんでした。

はじめに

コーディングスタイルはひとつの決めごとなのでいろんなパターンがあります。 ここでは私が考えたものを紹介しています。

私のコーディングスタイルにあわせる必要はありません、 でも見やすい SQL を書くように心がけてください。 他人の SQL を見る側としての、 とても切実な願いです。

全般

予約後は大文字にする。
SELECT, CREATE, AS, CASE など。
行中のカンマの後にはスペースをつける。
COALESCE(a, b, c) など。
左6文字と右を意識して分ける。 (例参照)
条件を羅列するときの AND, OR は行頭にくるようにする。
1行にいくつもの条件を並べると、見にくくなるため。
BETWEEN に必要な AND はここには含まれない。
括弧で囲む時で、 次行の先頭に AND, OR がくる場合は括弧 ( よりも右に AND, OR が配置されるようにする。
UNION, UNION ALL はそれだけで1行にする。
FROM, JOIN の後にサブクエリを用いるときは、 その行から始める。
テーブル別名にはできるだけ単語の頭文字を用いる。

SELECT のスタイル

SELECT で抽出するカラムを区切るカンマは行末に配置する。 SELECT句では1行に2つ以上のカラム名を書かない。

サンプル

まずはちょっと崩した例を示します。

これを上のガイドに沿って修正すると次のようになります。