データベース
基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問27
“学生” 表と “学部” 表に対して次の SQL 文を実行した結果として,正しいものはどれか。
学生
学部
〔SQL 文〕
SELECT 氏名 FROM 学生, 学部
WHERE 所属 = 学部名 AND 学部.住所 = '新宿'
| 氏名 | 所属 | 住所 |
|---|---|---|
| 応用花子 | 理 | 新宿 |
| 高度次郎 | 人文 | 渋谷 |
| 午前桜子 | 経済 | 新宿 |
| 情報太郎 | 工 | 渋谷 |
| 学部名 | 住所 |
|---|---|
| 工 | 新宿 |
| 経済 | 渋谷 |
| 人文 | 渋谷 |
| 理 | 新宿 |
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問27(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:ウ
覚える知識
SQLの内部結合の結果判定
複数表をWHERE句で結合する場合、結合条件と他条件をすべて満たす行の組合せが選択される。
この問題で必要なこと
学部.住所='新宿'は工・理。学生のうち所属が工は情報太郎、理は応用花子。
ひっかけ
学生.住所='新宿'の午前桜子を含めてしまうなど、どの表の住所かを取り違える。
この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)