集約関数ではNULLのフィールドは除外される

Web+DB Press vol.44の特集「SQLアタマ養成講座」を読んでてちょっと不思議だった点。

(p65)
MAX関数を使ったのは、どうせ切り分けた集合が一行しか含まないのだから

[NULL, 100, NULL]とかNULLを含んだ集合になんじゃね?

集約関数,GROUP BY句,HAVING句の注意点

集約関数の集計対象にNULL値が含まれる場合,集約関数はNULL値を除いて計算する。合計値計算や最大値,最小値の関数ではNULL値があってもなくても結果は変わらないが,平均値(AVG)とレコード数の算出(COUNT)の場合はNULLの有無で結果が変わる。

なるほど・・・
SQLは(も?)ほんと目から鱗ボロボロ
僕だめぽ

WEB+DB PRESS Vol.44

WEB+DB PRESS Vol.44