修了試験 2016-12-11実施分 基本情報技術者試験 問29
"学生"表と"学部"表に対し次のSQL文を実行した結果として,正しいものはどれか。 SELECT 氏名 FROM 学生,学部 WHERE 所属=学部名 AND 学部.住所='新宿' 学生 氏名|所属|住所 合田知子|理|新宿 青木俊介|工|渋谷 川内聡|人文|渋谷 坂口祐子|経済|新宿 学部 学部名|住所 理|新宿 工|新宿 人文|渋谷 経済|渋谷
正答2
解説
正解は2です。 二つの表を結合するSQL文の実行結果を求める問題です。 WHERE句は「学生の所属=学部の学部名」で表を結合し、さらに「学部の住所が新宿」の行だけに絞り込みます。 【計算】 "学部"表で住所が新宿の学部は、理と工です。 所属が理の学生は合田知子です。 所属が工の学生は青木俊介です。 したがって、結果は合田知子と青木俊介の2人です。 【選択肢別解説】 1:× 合田知子だけになるのは、学部の住所に加えて学生の住所も新宿である行に絞った場合です。 条件は学部の住所だけです。 2:○ 住所が新宿の学部(理と工)に所属する学生は、合田知子と青木俊介です。 3:× 合田知子と坂口祐子は、学生自身の住所が新宿の2人です。 SQL文が条件にしているのは学部の住所です。 4:× 坂口祐子の所属する経済学部の住所は渋谷なので、条件を満たしません。 【ポイント】 同じ列名(住所)が二つの表にあるときは、「表名.列名」でどちらの列かを指定します。 条件がどちらの表の列を指しているかを必ず確認します。まとめて解く
修了試験 2016-12-11実施分を通しで解く(80問)→