修了試験 2014-07-27実施分 基本情報技術者試験 問29
"学生"表と"学部"表に対し次のSQL文を実行した結果として,正しいものはどれか。 SELECT 氏名 FROM 学生,学部 WHERE 所属 = 学部名 AND 学部.住所 = '新宿' 学生 氏名|所属|住所 合田知子|理|新宿 青木俊介|工|渋谷 川内聡|人文|渋谷 坂口祐子|経済|新宿 学部 学部名|住所 理|新宿 工|新宿 人文|渋谷 経済|渋谷
正答2
解説
正解は2です。 このSQL文は、学生表と学部表を「所属=学部名」で結合し、学部表の住所が「新宿」の行の氏名を取り出します。 条件の住所は学生の住所ではなく、学部の住所である点がポイントです。 【計算】 学部表で住所が新宿の学部:理、工 所属が理の学生:合田知子 所属が工の学生:青木俊介 結果の氏名:合田知子、青木俊介 【選択肢別解説】 1:× 合田知子だけでは不足です。 工学部の住所も新宿なので、所属が工の青木俊介も結果に含まれます。 2:○ 学部の住所が新宿である理と工に所属する学生は、合田知子と青木俊介です。 3:× 坂口祐子は学生本人の住所が新宿ですが、所属する経済学部の住所は渋谷です。 条件は学部.住所なので、坂口祐子は含まれません。 4:× 坂口祐子は所属学部の住所が渋谷なので、条件を満たしません。 学生の住所と学部の住所を取り違えた結果です。 【ポイント】 両方の表に同じ列名(住所)があるときは、「学部.住所」のように表名を付けてどちらの列かを区別します。 WHERE句の列がどちらの表のものかを必ず確認しましょう。まとめて解く
修了試験 2014-07-27実施分を通しで解く(80問)→