平成29年春期試験問題 午前Ⅱ 問9
正解 エ問題へ
分野:テクノロジ系
中分類:データベース
小分類:データ操作
中分類:データベース
小分類:データ操作
広告
解説
SQLにおける3値論理とは、通常の"真(true)"と"偽"(false)に"不定(unknown)"を追加したものです。
データベースではNULLを扱いますが、NULLは値でないため比較述語でNULLと値を比較(例えば col1=NULL、col1>NULL)した結果は、常にunknownになります。SQLではunknownをサポートするために3つの論理値が定義されています。そして3値論理演算の真理値表は以下のようになります。これを踏まえて設問に戻ります。まず論理式にA=5,B=4,C=NULLを代入します。
(5>NULL) or (4>5) or (NULL=5)
次に括弧内の条件式を論理値に換えます。1,3番目の括弧内はNULLとの比較になっているので結果はunknownになります。
unknown or false or unknown
上記のOR演算を参照してもらえればわかるように false or unknown の結果はunknownになります。したがって「エ」が正解です。
データベースではNULLを扱いますが、NULLは値でないため比較述語でNULLと値を比較(例えば col1=NULL、col1>NULL)した結果は、常にunknownになります。SQLではunknownをサポートするために3つの論理値が定義されています。そして3値論理演算の真理値表は以下のようになります。これを踏まえて設問に戻ります。まず論理式にA=5,B=4,C=NULLを代入します。
(5>NULL) or (4>5) or (NULL=5)
次に括弧内の条件式を論理値に換えます。1,3番目の括弧内はNULLとの比較になっているので結果はunknownになります。
unknown or false or unknown
上記のOR演算を参照してもらえればわかるように false or unknown の結果はunknownになります。したがって「エ」が正解です。
広告