令和7年度 秋期 午前Ⅱ 問7
データ操作
NULLに関する問題
SQLの3値論理において,a,bに入る字句の組合せはどれか。
“真 AND 不定”は[ a ]であり,“偽 AND 不定”は[ b ]である。
選択肢は原典ではa・bの表。
- アa:偽 / b:偽
- イa:偽 / b:不定
- ウa:不定 / b:偽
- エa:不定 / b:不定
答えと解説を見る
✓ これが正解ウa:不定 / b:偽
解説
真 AND 不定は不定、偽 AND 不定は偽です。
SQL の3値論理では、真と偽に加えて、NULL との比較などから生じる不定(UNKNOWN)を扱います。不定は、真か偽かのどちらかだが今は分からない値、と考えると結果を導けます。真 AND 不定は、不定が真なら真、偽なら偽になるので、結果は一つに決まらず不定です。偽 AND 不定は、不定が真でも偽でも、片方が偽である以上 AND は偽になるので、結果は偽に決まります。見分ける軸は、不定を真と偽の両方に置き換えて結果が一つに決まるかどうかです。同じ考え方で、真 OR 不定は真、偽 OR 不定は不定になります。WHERE 句では結果が真の行だけが選ばれる点も合わせて押さえておきましょう。
ほかの選択肢はなぜ違うのか
- アa:偽 / b:偽:偽 AND 不定を偽とする点は合っていますが、真 AND 不定を偽としている点が違います。不定が真であれば真 AND 真で真になるので、結果は偽に決まらず不定です。
- イa:偽 / b:不定:真 AND 不定を偽とし、偽 AND 不定を不定としていて、両方とも違います。片方が偽なら AND は必ず偽になるので偽 AND 不定は偽であり、真 AND 不定は相手しだいなので不定です。
- エa:不定 / b:不定:真 AND 不定を不定とする点は合っていますが、偽 AND 不定を不定としている点が違います。AND は片方が偽なら、もう片方が何であっても偽になるので、結果は偽に決まります。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)