データベース
基本情報技術者試験 科目A免除 修了試験 20250608 実施分 問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)
出典:基本情報技術者試験 科目A免除 修了試験 20250608 実施分 問20
答えと解説を見る
正解:ウ
覚える知識
排他的論理和をAND/OR/NOTで表すWHERE条件
A XOR B は (A OR B) AND NOT (A AND B) と等価である。
この問題で必要なこと
どちらか一方のみ成立=(A OR B) AND NOT (A AND B)。排他的論理和をAND/OR/NOTで表す。
ひっかけ
他の選択肢は恒偽や矛盾する条件で、少なくとも一方が満たす条件を表せない。
この知識の出題:本試験系 0 回・免除試験 5 回(公開問題での観測値)