修了試験 2016-06-12実施分 基本情報技術者試験 問28
国語と数学の試験を実施し,2教科の成績は氏名とともに“得点”表に記録されている。 1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を“得点”表から抽出するSQL文はどれか。 ここで,条件文Aと条件文Bには,それぞれ次の条件が与えられているものとする。 〔条件文〕 A 国語の点数が国語の平均点以上 B 数学の点数が数学の平均点以上
正答3
解説
正解は3です。 1教科だけが平均点以上という条件は、AとBのどちらか一方だけが真という排他的論理和です。 排他的論理和は、(A OR B) AND NOT (A AND B)と表せます。 各WHERE句が真になる場合を確かめます。 A OR Bは、少なくとも一方が平均点以上の生徒で真になります。 NOT (A AND B)は、両方が平均点以上の生徒を除きます。 両方を満たすのは、片方だけが平均点以上の生徒です。 【選択肢別解説】 1:× (A AND B)とNOT (A AND B)は同時に成り立たないので、常に偽となり、誰も抽出されません。 2:× A AND Bが真ならA OR Bも真なので、NOT (A OR B)と同時には成り立たず、誰も抽出されません。 3:○ 少なくとも一方が平均点以上で、かつ両方ではない生徒を抽出するので、条件と一致します。 4:× (A OR B)とNOT (A OR B)は同時に成り立たないので、常に偽となり、誰も抽出されません。 【ポイント】 排他的論理和は、論理和から論理積を除いたものと覚えます。 XとNOT Xを論理積で結ぶと、常に偽になります。まとめて解く
修了試験 2016-06-12実施分を通しで解く(80問)→