データベーススペシャリスト暗記無料で始める

NULLとは?ヌル

NULLとは、値が存在しない、あるいは値が不明であることを表す標識で、それ自体は値ではない。したがって NULL = NULL は真にならず、比較の結果は真でも偽でもない「不定」になるため、判定には IS NULL / IS NOT NULL を使う。この三値論理はAND・ORの結果や条件の絞り込みにも波及する。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では16回出題され、ほかに6問の解説で触れられています(2017年度〜2025年度)。

データベーススペシャリスト試験の頻出用語/午前II

別名:空値、ナル、NULL値

この語が出る過去問を解く →

背景

関係の表はすべての行が同じ列を持つので、退職日のようにまだ決まっていない項目にも何かを入れざるを得ない。0や空文字で代用すると「0円の取引」と「金額が未記入」が区別できなくなり、集計が静かに狂う。そこで値の集合の外側に「値が無い」という標識を1つ用意したのがNULLで、代償として比較が三値論理になった。試験で問われる集約関数・外部結合・NOT INの挙動は、すべてこの「値ではない」という一点から導かれる。

具体例

PostgreSQLで社員表に SELECT COUNT(*), COUNT(退職日), AVG(給与) を実行すると、COUNT(*) は全行を数えるのに対し COUNT(退職日) は退職日がNULLの在職者を数えず、AVG は給与がNULLの行を分子からも分母からも外す。

試験での引っ掛け

COUNT(*) 以外の集約関数はNULLの行を計算対象から除く。AVGは件数にも含めないので、NULLを0とみなした平均とは値が異なる。NOT IN の副問合せ結果にNULLが1つでも混ざると全体が不定になり結果が0件になる——NOT EXISTS に書き換えれば避けられる。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では16回出題(2017年度〜2025年度)
  • 分野:午前II
  • COUNT(*) 以外の集約関数はNULLの行を計算対象から除く。