過去問解きまくり研究所 ホーム

平成29年度 春期 午前Ⅱ 問9

データ操作

NULLに関する問題

SQLが提供する3値論理において,Aに5,Bに4,CにNULLを代入したとき,次の論理式の評価結果はどれか。

(A>C) or (B>A) or (C=A)

答えと解説を見る

✓ これが正解エunknown(不定)

解説

unknownを含むorは、真が一つもなければunknownになります。

SQLの比較は、どちらかの値がNULLだと真でも偽でもないunknownになります。見分ける軸は、3つの項をそれぞれ評価してからorで結ぶことです。A>Cは5とNULLの比較なのでunknown、B>Aは4>5で偽、C=AはNULLとの比較なのでunknownです。orは一つでも真があれば真になりますが、ここには真が一つもありません。偽とunknownだけのorは、unknownを真に置き換えると真、偽に置き換えると偽になり、結果が決まらないのでunknownになります。NULLとの比較は等号でも不等号でもunknown、と先に押さえ、orなら真の有無、andなら偽の有無を見るのが3値論理の読み方です。

ほかの選択肢はなぜ違うのか

出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)