LoginSignup
1
0

More than 3 years have passed since last update.

SQL を処理するコードをレビューする時のポイント

Posted at

はじめに

SQL の取得結果に対する処理で、業務に関係ない点でのレビューポイントをまとめてみました。

取得レコード

レコードがない場合に対して考慮しているか

以下のロジックは注意が必要です。

  • 変数ではなく固定列の値を取得している。
  • 現在の列番号とその前後の列番号のレコードを比較して処理している。

また、集計関数(count, max)などで値を取得している場合、group by がない場合は、必ず1レコード返ってきますが、group by を使用した場合に対象レコードが0件の場合は、取得結果も0件になります。

select count(*) from T1 where 1=2

count(*)
0

select count(*) from T1 where 1=2 group by T1.ID

count(*)

取得項目

null を考慮しているか

null をそのまま処理しようとすると、大抵の言語では例外が発生します。

char 項目の空白を考慮しているか

char の項目が空白の場合、桁数分の空白設定されているため、桁数0の文字列と比較すると false になります。

おわりに

SQL そのもののレビューポイントは、以下でまとめましたので、あわせて参考にしていただけたらと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0