情報処理安全確保支援士暗記無料で始める

NULLの扱いと三値論理とは?なるのあつかいとさんちろんり

NULLの扱いと三値論理とは、NULLは「値が未知・非適用」を表す標識で、0や空文字とは別物。NULLとの比較は真でも偽でもなくUNKNOWNとなり、SQLは真・偽・不明の三値論理で評価する。WHERE句はTRUEの行だけを返すため、UNKNOWNの行は結果から落ちる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の過去問では2問の解説で触れられています(2017年度〜2021年度)。

情報処理安全確保支援士試験の頻出用語/午前II

別名:NULLと三値論理、NULLと3値論理、三値論理、3値論理、UNKNOWN

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

具体例

退職日がNULLの在職者を除きたくて「退職日 <> '2025-03-31'」と書くと、NULL行がUNKNOWNとなり結果から消えてしまう。意図どおりにするには「退職日 IS NULL OR 退職日 <> '2025-03-31'」またはCOALESCEで既定値に置き換える。

試験での引っ掛け

NULL = NULL は真ではなく不定で、比較演算子では決して真にならないためIS NULLを使う。NOT INの副問い合わせ結果にNULLが1つでも混ざると全体が不定になり、結果が0件になる典型的な罠がある。集約関数はCOUNT(*)を除きNULLを無視するため、COUNT(列)は全行数と一致せず、AVGの分母もNULL行を除いた件数になる。またNULL同士は=で等しくならないのに、GROUP BYでは同一グループにまとめられる、という不揃いも狙われる。

関連用語

出た過去問

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

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

試験での特徴
  • 2問の解説で触れられる(2017年度〜2021年度)
  • 分野:午前II
  • NULL = NULL は真ではなく不定で、比較演算子では決して真にならないためIS NULLを使う。