基本情報技術者試験 - 令和7年6月修了 - 問20

国語と数学の試験を実施し,2教科の成績は氏名とともに “得点” 表に記録されている。1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を “得点” 表から抽出するSQL文はどれか。ここで,条件文Aと条件文Bには,それぞれ次の条件が与えられているものとする。

〔条件文〕
 A 国語の点数が国語の平均点以上
 B 数学の点数が数学の平均点以上
アSELECT 生徒氏名 FROM 得点
 WHERE(A AND B)AND NOT(A AND B)
イSELECT 生徒氏名 FROM 得点
 WHERE(A AND B)AND NOT(A OR B)
ウSELECT 生徒氏名 FROM 得点
 WHERE(A OR B)AND NOT(A AND B)
エSELECT 生徒氏名 FROM 得点
 WHERE(A OR B)AND NOT(A OR B)
答え : ウ
分野 : テクノロジ系 › 技術要素 › データベース › データ操作
同一問題 : 〔令5修7問20〕〔平28修6問28〕〔平26修12問27〕〔平25修6問33〕
解説 :
条件文Aを「国語が平均点以上」,条件文Bを「数学が平均点以上」とすると,求めたいのは「AとBのどちらか一方だけが真である」生徒,すなわち論理演算でいう排他的論理和(XOR)に相当する条件です。これは「AまたはBが成り立つ」かつ「AとBが同時には成り立たない」という条件で表現できます。

つまり「(A OR B)AND NOT(A AND B)」となり,これに合致するのは「ウ」です。「ア」は「(A AND B)AND NOT(A AND B)」となっており,これは常に偽になってしまい,どの生徒も抽出されません。「イ」も同様に矛盾した条件になっています。「エ」は「(A OR B)AND NOT(A OR B)」であり,これも常に偽になる恒偽式です。論理演算の基本であるXORの表現方法を正しく理解しておくことがポイントです。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる