集約関数ではNULLのフィールドは除外される
Web+DB Press vol.44の特集「SQLアタマ養成講座」を読んでてちょっと不思議だった点。
(p65)
MAX関数を使ったのは、どうせ切り分けた集合が一行しか含まないのだから
[NULL, 100, NULL]とかNULLを含んだ集合になんじゃね?
集約関数の集計対象にNULL値が含まれる場合,集約関数はNULL値を除いて計算する。合計値計算や最大値,最小値の関数ではNULL値があってもなくても結果は変わらないが,平均値(AVG)とレコード数の算出(COUNT)の場合はNULLの有無で結果が変わる。
なるほど・・・
SQLは(も?)ほんと目から鱗ボロボロ
僕だめぽ
- 作者: 鵜飼文敏,ミック,はまちや2,小飼弾,萩本順三,角田直行,きたみりゅうじ,小田慎一郎,河合太郎,大野道誉,宇野浩史,田中洋一郎,大塚知洋,nanto_vi,縣俊貴,岩澤直樹,下岡秀幸,山本陽平,伊藤直也,高井直人,永安悟史,角谷信太郎,高林哲,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2008/04/23
- メディア: 大型本
- 購入: 2人 クリック: 31回
- この商品を含むブログ (50件) を見る