IPA過去問ドリル

平成31年度 春期 基本情報技術者試験 午前 問29

テクノロジ/データベース

“学生”表と“学部”表に対して次のSQL文を実行した結果として,正しいものはどれか。 学生表(氏名,所属,住所):応用花子,理,新宿/高度次郎,人文,渋谷/午前桜子,経済,新宿/情報太郎,工,渋谷 学部表(学部名,住所):工,新宿/経済,渋谷/人文,渋谷/理,新宿 〔SQL文〕 SELECT 氏名 FROM 学生, 学部 WHERE 所属 = 学部名 AND 学部.住所 = '新宿' (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成31年度 春期 基本情報技術者試験 午前 問29

正解:ウ

解説

SQL文は,学生表と学部表を所属=学部名で結合し,学部の住所が'新宿'である行の氏名を取得します。学部表で住所が新宿なのは工学部と理学部なので,所属が工または理の学生(情報太郎,応用花子)が該当します。

選択肢ごとの解説

  • 誤り。応用花子だけでなく,所属が工である情報太郎も条件を満たすため,結果から漏れています。
  • 誤り。午前桜子の所属は経済で,学部表で経済の住所は渋谷なので,条件(住所=新宿)を満たさず結果に含まれません。
  • 正しい。学部の住所が新宿なのは工と理なので,所属が理の応用花子と所属が工の情報太郎が結果に含まれます。
  • 誤り。午前桜子の所属は経済で学部の住所は渋谷のため,新宿という条件を満たさず結果には含まれません。
基本情報技術者の過去問を演習モードで解く