修了試験 2025-06-08実施分 基本情報技術者試験 問20
国語と数学の試験を実施し,2教科の成績は氏名とともに"得点"表に記録されている。 1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を"得点"表から抽出するSQL文はどれか。 ここで,条件文Aと条件文Bには,それぞれ次の条件が与えられているものとする。 〔条件文〕 A 国語の点数が国語の平均点以上 B 数学の点数が数学の平均点以上
正答3
解説
正解は3です。 条件を論理演算で組み合わせて、求める生徒を抽出するSQL文を選ぶ問題です。 「1教科は平均点以上で、残りの1教科は平均点未満」とは、AとBのどちらか一方だけが真という条件です。 これは排他的論理和(XOR)にあたります。 【選択肢別解説】 1:× (A AND B) AND NOT (A AND B)は、ある条件とその否定を同時に満たすことを求めています。 常に偽になるので、誰も抽出されません。 2:× (A AND B)が真ならA OR Bも真なので、NOT (A OR B)は偽です。 二つの条件が同時に成り立つことはなく、常に偽になります。 3:○ (A OR B)は「少なくとも一方が平均点以上」を表します。 NOT (A AND B)は「両方が平均点以上ではない」を表します。 両方を満たすのは片方だけが平均点以上の生徒なので、求める条件に一致します。 4:× (A OR B) AND NOT (A OR B)は、ある条件とその否定を同時に満たすことを求めています。 常に偽になるので、誰も抽出されません。 【ポイント】 XOR(どちらか一方だけ)は「(A OR B) AND NOT (A AND B)」と表せます。 同じ式をNOTでつないだ「X AND NOT X」は必ず偽になる、と覚えておくと誤りの選択肢をすぐ外せます。まとめて解く
修了試験 2025-06-08実施分を通しで解く(60問)→