修了試験 2023-07-23実施分 基本情報技術者試験 問20
国語と数学の試験を実施し,2教科の成績は氏名とともに“得点”表に記録されている。 1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を“得点”表から抽出するSQL文はどれか。 ここで,条件文Aと条件文Bには,それぞれ次の条件が与えられているものとする。 〔条件文〕 A 国語の点数が国語の平均点以上 B 数学の点数が数学の平均点以上
正答3
解説
正解は3です。 条件の組合せを、SQLのWHERE句で正しく表現できるかを問う問題です。 「1教科は平均点以上で、残りの1教科は平均点未満」とは、AとBのどちらか一方だけが真である状態です。 これは排他的論理和(XOR)であり、「AまたはBが真」かつ「AとBが両方真ではない」と表せます。 【選択肢別解説】 1:× (A AND B)とNOT (A AND B)は互いに否定の関係です。 両方が同時に真になることはないので、常に偽となり、1件も抽出されません。 2:× (A AND B)はAとBが両方真、NOT (A OR B)はAとBが両方偽を意味します。 この2つは同時に成り立たないので、常に偽となり、1件も抽出されません。 3:○ (A OR B)で少なくとも1教科が平均点以上の生徒に絞り、NOT (A AND B)で2教科とも平均点以上の生徒を除きます。 残るのはどちらか1教科だけが平均点以上の生徒なので、条件と一致します。 4:× (A OR B)とNOT (A OR B)も互いに否定の関係です。 常に偽となるため、1件も抽出されません。 【ポイント】 排他的論理和は「(A OR B) AND NOT (A AND B)」のほか、「(A AND NOT B) OR (NOT A AND B)」とも書けます。 XとNOT Xを AND で結ぶと常に偽になることも、選択肢を素早く消すのに役立ちます。まとめて解く
修了試験 2023-07-23実施分を通しで解く(60問)→