3値論理とは?
3値論理とは、SQLの真理値が真・偽・不定(unknown)の3つを取ること。NULLとの比較はすべてunknownになる。
データベーススペシャリスト試験の過去問では2回出題されています(2017年度〜2025年度)。
さんちろんり
3値論理の意味
3値論理の具体例
NULL = NULL も NULL <> 1 も真にはならず unknown。判定にはIS NULLを使う。
3値論理は試験でどう引っ掛けられる?
ANDはどれか1つでも偽なら偽に確定するが、真とunknownの組合せはunknownのまま。ORは1つでも真なら真に確定するが、偽とunknownはunknown。WHERE句はunknownの行を採用しない。
3値論理と関連する用語
3値論理が出た過去問
SQLが提供する3値論理において、Aに5、Bに4、CにNULLを代入したとき、次の論理式の評価結果はどれか。 (A > C) or (B > A) or (C …
正解:unknown(不定)
要点:NULLとの比較はunknown、false ORするとunknownのまま
NULLとの比較演算の結果はtrueでもfalseでもなくunknownになる。ここではCがNULLなので(A>C)と(C=A)はいずれもunknown、(B>A)は4>5でfalseとなる。ORはunknownとfalseの組合せではunknownになるため、式全体の評価結果はunknownである。
出典:平成29年度 春期 データベーススペシャリスト試験 am2 問9(IPA)SQLの3値論理において、a, bに入る字句の組合せはどれか。 "真 AND 不定"は[ a ]であり、"偽 AND 不定"は[ b ]である。
正解:a: 不定 / b: 偽
要点:3値論理のANDは偽で確定、真だと不定が残る
SQLはNULLの扱いのために真・偽・不定の3値論理を採る。ANDでは、片方が偽ならもう片方の値にかかわらず結果は必ず偽に確定する。一方、片方が真の場合は結果がもう片方に委ねられるため、相手が不定なら結果も不定のままになる。ORではこれが裏返り、片方が真なら結果は真に確定する。
出典:令和7年度 秋期 データベーススペシャリスト試験 am2 問7(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。