SQLにおけるnullは「値があることは分かっているが、それが何なのかはわからない」という意味だ。 「値がない」という意味ではない、ということに注意しなくてはならない。 nullは「値がない」ではない nullを「値がない」という意味だと考えてしまうと、 'a'と'b'とnullを連結した結果が、nullになる 1 + nullがnullになる といったSQLの挙動の意味が理解できなくなる。 nullが「値がない」という意味なら select 'a' || 'b' || null の結果には少なくとも'ab'が含まれているはずあって、「値なし」になってしまうのはおかしい。 また select 1 + null の結果が「値なし」になってしまうのも何だかよくわからない。 つまりSQLは、nullを「値がない」という意味のものとしては扱わない。 が、「値がない(まだない or あり得ない)」と