修了試験 2014-12-21実施分 基本情報技術者試験 問27
国語と数学の試験を実施し,2教科の成績は氏名とともに“得点”表に記録されている。 1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を“得点”表から抽出するSQL文はどれか。 ここで,条件文Aと条件文Bには,それぞれ次の条件が与えられているものとする。 〔条件文〕 A 国語の点数が国語の平均点以上 B 数学の点数が数学の平均点以上
正答3
解説
正解は3です。 「1教科は平均点以上で、残りの1教科は平均点未満」とは、条件AとBのどちらか一方だけが真である状態です。 これは排他的論理和(XOR)であり、「AまたはBが真」かつ「AとBが両方真ではない」と書けます。 SQLで表すと、(A OR B) AND NOT (A AND B)です。 【選択肢別解説】 1:× (A AND B) AND NOT (A AND B)は、ある条件とその否定を同時に満たすことを求めています。 常に偽になるので、1人も抽出されません。 2:× (A AND B) AND NOT (A OR B)は、両方真でありながら両方偽であることを求めています。 これも常に偽になり、1人も抽出されません。 3:○ (A OR B)で少なくとも一方が平均点以上の生徒に絞り、NOT (A AND B)で両方とも平均点以上の生徒を除きます。 残るのはちょうど1教科だけ平均点以上の生徒です。 4:× (A OR B) AND NOT (A OR B)も、ある条件とその否定を同時に求めています。 常に偽になるので、1人も抽出されません。 【ポイント】 XORは「(A OR B) AND NOT (A AND B)」のほか、「(A AND NOT B) OR (NOT A AND B)」とも書けます。 X AND NOT Xの形は常に偽になる、と気付けば誤りの選択肢をすぐに外せます。まとめて解く
修了試験 2014-12-21実施分を通しで解く(80問)→