NULLを含まない集合を探す COUNT関数の使用法には、COUNT(*)とCOUNT(列名)の2通りがあります。両者の違いは2つあります。ひとつはパフォーマンスの違い、もうひとつは、COUNT(*)がNULLを数えるのに対し、COUNT(列名)は他の集約関数と同様、NULLを除外して集計するという結果の違いです。後者を言い換えると、COUNT(*)が全行を数えるのに対し、COUNT(列名)はそうではない、ということです。 両者の結果の違いは、NULLしか含まない極端なテーブルにSQL文を実行してみると明らかになります。