HOME»データベーススペシャリスト平成29年春期»午前Ⅱ 問9
データベーススペシャリスト平成29年春期 午前Ⅱ 問9
問9
SQLが提供する3値論理において,Aに5,Bに4,CにNULLを代入したとき,次の論理式の評価結果はどれか。
- φ(空)
- false(偽)
- true(真)
- unknown(不定)
分類 :
テクノロジ系 » データベース » データ操作
正解 :
エ
解説 :
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値論理演算の真理値表は以下のようになります。

(5>NULL) or (4>5) or (NULL=5)
次に括弧内の条件式を論理値に換えます。1,3番目の括弧内はNULLとの比較になっているので結果はunknownになります。
unknown or false or unknown
上記のOR演算を参照してもらえればわかるように false or unknown の結果はunknownになります。したがって「エ」が正解です。
