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

3値論理とは?さんちろんり

3値論理とは、SQLの条件式が真・偽・不定(unknown)の3つの値を取ること。NULLは「値が不明または該当なし」を表す印であって値そのものではないため、NULLを含む比較は = でも <> でも真偽が定まらず、すべてunknownになる。WHERE句は真と判定された行だけを通すので、unknownの行は静かに消える。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では2回出題されています(2017年度〜2025年度)。

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

別名:3値理論、true/false/unknown

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

背景

現実の業務データには「まだ決まっていない」「そもそも存在しない」項目が必ず混じる。これをゼロや空文字で代用すると集計値が狂うため、値の不在を表す印としてNULLが導入された。ところが不明な値と何かを比べても答えは出せないので、真と偽の2つでは評価結果を書き表せなくなり、第三の値が要ることになった。件数が合わない不具合の多くはこの一段を飛ばした結果として起きる。

具体例

会員表の退会日が在籍中はNULLだとする。ここで「WHERE 退会日 <> '2025-04-01'」と書くと、在籍中の会員は比較がunknownになるため一人も返らない。在籍中を含めたければ「WHERE 退会日 IS NULL OR 退会日 <> '2025-04-01'」のようにIS NULLで明示的に拾う必要がある。

試験での引っ掛け

ANDは一つでも偽があれば残りがunknownでも偽に確定し、ORは一つでも真があれば真に確定する。真とunknownのAND、偽とunknownのORがunknownのまま残る点が問われる。NOT unknownもunknownで真偽は反転しない。さらにWHERE句とON句がunknownの行を採用しないのに対し、CHECK制約は偽と評価されたときだけ違反とみなすため、unknownの行は素通りする。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では2回出題(2017年度〜2025年度)
  • 分野:午前II
  • ANDは一つでも偽があれば残りがunknownでも偽に確定し、ORは一つでも真があれば真に確定する。