平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9
テクノロジ/データベースSQLが提供する3値論理において,Aに5,Bに4,CにNULLを代入したとき,次の論理式の評価結果はどれか。 (A > C) or (B > A) or (C = A)
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9
- アφ(空)
- イfalse(偽)
- ウtrue(真)
- エunknown(不定)
正解:エ
解説
SQLの3値論理では,比較の一方にNULLが含まれる場合,その比較結果はunknown(不定)になります。A=5,B=4,C=NULLとすると,(A>C)はNULLとの比較のためunknown,(B>A)は4>5でfalse,(C=A)もNULLとの比較のためunknownになります。OR演算では,一つでもtrueがあれば結果はtrueですが,本問では全ての項がfalse又はunknownであり,trueが一つも存在しないため,OR全体の評価結果はunknownになります。
選択肢ごとの解説
- ア誤り。φ(空)は3値論理における評価結果としては用いられない表現であり,本問の評価結果には該当しません。
- イ誤り。3つの項のうち(A>C)と(C=A)がunknownであるため,OR全体の結果はfalse(偽)にはならず,unknown(不定)になります。
- ウ誤り。3つの項の中にtrue(真)となるものが一つもないため,OR全体の結果はtrue(真)にはなりません。
- エ正しい。(A>C)と(C=A)はNULLとの比較でunknown,(B>A)はfalseとなり,true(真)の項が一つも無いため,OR演算全体の評価結果はunknown(不定)になります。