IT資格用語解説基本情報技術者試験・データベースの設計
NULL
更新日:
用語解説
NULLは、データベースで値が未知、未入力、又はその項目が適用不能であることを表す特別なマーカーです。数値0、空文字列、空白、文字列「NULL」とは異なります。
■ 試験で押さえるポイント
NULLとの通常比較は真偽が決まらないUNKNOWNになるため、col = NULLではなくcol IS NULL、否定はIS NOT NULLで判定します。
SQLはTRUE、FALSE、UNKNOWNの三値論理を使い、WHERE句はTRUEの行だけを返すため、NULLを含む比較結果の行は通常除外されます。
COUNT(列)、SUM、AVGなど多くの集約関数はNULLを除外しますが、COUNT(*)は行自体を数えます。AVGでNULLを0とみなすのは誤りです。
主キーにはNULLを許さず、UNIQUE制約で複数NULLを許すかはDBMSや指定によります。NOT INの候補にNULLがある場合もUNKNOWNに注意します。
■ 選択肢での判断ポイント
NULL=0又は空文字という誤答を除き、IS NULL、三値論理、集約関数の挙動を判断します。算術式にNULLが入ると通常結果もNULLです。
例: 得点が80、NULL、0の三行ならCOUNT(得点)=2、SUM(得点)=80、AVG(得点)=40で、NULLを0点として件数に含めません。