2019年08月19日

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

問29

学生”表と“学部”表に対して次のSQL文を実行した結果として、正しいものはどれか。

  学生          学部
 ┌────┬──┬──┐┌───┬──┐
 │ 氏名 │所属│住所││学部名│住所│
 ┝━━━━┿━━┿━━┥┝━━━┿━━┥
 │応用花子│理 │新宿││工  │新宿│
 ├────┼──┼──┤├───┼──┤
 │高度次郎│人文│渋谷││経済 │渋谷│
 ├────┼──┼──┤├───┼──┤
 │午前桜子│経済│新宿││人文 │渋谷│
 ├────┼──┼──┤├───┼──┤
 │情報太郎│工 │渋谷││理  │新宿│
 └────┴──┴──┘└───┴──┘


〔SQL文〕
 SELECT 氏名 FROM 学生, 学部
  WHERE 所属=学部名 AND 学部.住所 = '新宿'

ア    氏名
  ------------
   応用花子

イ    氏名
  ------------
   応用花子
   午前桜子

ウ    氏名
  ------------
   応用花子
   情報太郎

エ    氏名
  ------------
   応用花子
   情報太郎
   午前桜子





正解


解説

SELECT 氏名 FROM 学生, 学部
  WHERE 所属=学部名 AND 学部.住所 = '新宿'
は、学生と学部の表から所属と学部名の値が同じ行で、学部表の住所の値が“新宿”の行を取り出し、氏名を表示するというSQLである。

例えば、“情報太郎”の所属は“工”であるから、学部表の学部名の値が“工”の行を取り出し、住所が“新宿”なので、情報太郎は表示される。

タグ:SQL
posted by ファーストマクロ at 18:52| Comment(0) | H31春基本情報技術者
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: