基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成14年 春期 基本情報技術者 午後 問03
問03   関係データベース

 関係データベースに関する次の記述を読んで,設問1〜3に答えよ。

次のような社員表,社員スキル表からなる関係データベースがある。

社員表
  社員番号   社員名   所属
  0001   鈴木   A1
  0002   田中   A2
  0003   佐藤   B1
  0004   橋本   D3
  0005   今井   A1
  0006   木村   B1
       社員スキル表
  社員番号   スキルコード   登録日
  0001   FE   19991201
  0001   DB   20010701
  0002   SAD   19980701
  0002   FE   19990701
  0002   SW   20000701
  0005   SAD   19991201

基本情報技術者試験


設問1  次の記述中の に入れる正しい答えを, 解答群の中から選べ。

 EXISTS 述語は,表副問合せの結果が存在するとき真,存在しないとき偽を値として返す。 次のSQL 文を実行したとき,選択される社員番号は 個である。


SELECT 社員番号 FROM 社員スキル表

WHERE EXISTS (SELECT * FROM 社員スキル表

WHERE スキルコード = 'FE')

 EXISTS 述語で,主問合せと異なる表の参照を含む副問合せが指定された場合は, それぞれの行について評価する。 次の SQL 文を実行したとき, 選択される社員名は 個である。


SELECT 社員名 FROM 社員表 A

WHERE EXISTS (SELECT * FROM 社員スキル表 B

WHERE スキルコード = 'FE'

AND A.社員番号 = B.社員番号)

解答群

ア 0      イ 1      ウ 2      エ 3

オ 4      カ 5      キ 6

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

基本情報技術者試験


設問2  次の SQL 文が要求しているのは,どのような社員の社員番号か, 適切なものを解答群の中から選べ。


SELECT DISTINCT 社員番号 FROM 社員スキル表 B1

WHERE EXISTS (SELECT * FROM 社員スキル表 B2

WHERE B1.社員番号 = B2.社員番号

AND B1.スキルコード <> B2.スキルコード)

解答群

ア スキルを少なくとも一つはもっている。

イ スキルを一つだけもつ。

ウ スキルを一つももたない。

エ スキルを複数もつ。

解答 ←クリックすると正解が表示されます

基本情報技術者試験


設問3  設問2 で得られる情報に社員名を追加したい。 次の記述中の に入れる適切な語句を,解答群の中から選べ。


SELECT DISTINCT A.社員番号,社員名 FROM 社員表 A,社員スキル表 B1

WHERE EXISTS (SELECT * FROM 社員スキル表 B2

WHERE B1.社員番号 = B2.社員番号

AND B1.スキルコード <> B2.スキルコード)

解答群

ア AND A.社員番号 = B1.社員番号

イ BETWEEN A.社員番号 AND B1.社員番号

ウ LIKE A.社員番号 = B1.社員番号

エ OR A.社員番号 = B1.社員番号

解答 ←クリックすると正解が表示されます

[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]