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