データベース
平成31年度 春期 基本情報技術者試験 午前 問29
“学生”表と“学部”表に対して次の SQL 文を実行した結果として,正しいものはどれか。
学生:
学部:
〔SQL 文〕
SELECT 氏名 FROM 学生, 学部
WHERE 所属 = 学部名 AND 学部.住所 = '新宿'
選択肢は結果表(列: 氏名):
ア: 応用花子
イ: 応用花子 / 午前桜子
ウ: 応用花子 / 情報太郎
エ: 応用花子 / 情報太郎 / 午前桜子
| 氏名 | 所属 | 住所 |
|---|---|---|
| 応用花子 | 理 | 新宿 |
| 高度次郎 | 人文 | 渋谷 |
| 午前桜子 | 経済 | 新宿 |
| 情報太郎 | 工 | 渋谷 |
| 学部名 | 住所 |
|---|---|
| 工 | 新宿 |
| 経済 | 渋谷 |
| 人文 | 渋谷 |
| 理 | 新宿 |
- ア [図] 氏名: 応用花子
- イ [図] 氏名: 応用花子,午前桜子
- ウ [図] 氏名: 応用花子,情報太郎
- エ [図] 氏名: 応用花子,情報太郎,午前桜子
出典:平成31年度 春期 基本情報技術者試験 午前 問29
答えと解説を見る
正解:ウ
覚える知識
SQLの内部結合の結果判定
WHERE句の結合条件で2表を結び、さらに絞込み条件を満たす行だけが結果となる。
この問題で必要なこと
所属=学部名で結合し、学部.住所が新宿の学部(工・理)の学生を選ぶ。応用花子(理)と情報太郎(工)が該当する。
ひっかけ
学生.住所と学部.住所を取り違える(学生の住所が新宿の人を選ぶ)。
この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)