NULLをすべて何らかの値に置き換えるとよいのか?
NULLの扱いは難しい…とはいえ、NULLがないと表現に困る場合もある
どんな場合に困るか?
年齢不詳の人の年齢
答えは「わからない」
オリバーの年齢はデータベースにどう持つべきか
年齢-1とか年齢999とか?
持てるし、意味は何となく察することはできるが…
集計関数を使う時などに不都合が生じる
一番年下の人、平均の年齢など
where 年齢 <> -1のように除外しないといけない
それって結局、NULLをunknownとして扱えば良かったのでは?
NULLに依る不都合もあるが、NULLを徹底的に避けようとした結果「それNULLで良かったのでは?」となるケースもある