はじめに SQLを利用するときには極力NULLを使わないようにしようと言われることが多いです。 SQLではNULLのデータが入っていることで奇妙な挙動をしてしまうことがあります。 その中の一つでCOUNT関数が存在します。 COUNT関数はその名の通りで条件に合致したデータ数を取得するための関数です。 例えば、条件に合致するデータが3件ある場合は3 と返却を行います。 簡単ですね。 ただ、データ内にNULLが含まれていると、COUNT関数の対象によって、返される値が異なる場合があります。 具体的には以下の通りです。 COUNT(*) NULLのカラムを数える COUNT(col_name) NULLのカラムを数えない なかなかとややこしいですね。。。 実際に例を見てみましょう。 例 以下のようなテーブルを考えます。 col_name