SQLでは null=null にならない理由

ジョー・セルコのプログラマのためのSQLは非常に好きな本。全部読んでないけど。
この本で初めて、SQLでは null=null が true ではなく unknown である理由について、納得のいく説明が得られた。
P103にこんな話が載っている:

従業員テーブルに、「車の色」「髪の色」という列があるとする。
「車を持っていない人」「禿の人」の場合、これらの列の値は null である。
ここで、「車と髪の色が同じ人」を検索しようとして

	SELECT * FROM 従業員 WHERE 車の色=髪の色

を発行する。
もしnull=nullであれば、「車を持っていない禿の人」が「車と髪の色が同じ人」に該当してしまう。
これは変でしょう。