IPA過去問ドリル

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

テクノロジ/データベース

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

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

正解:エ

解説

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(不定)になります。
データベーススペシャリストの過去問を演習モードで解く