6-06 データ操作とSQL

令和5年12月修了試験  問20

“社員"表と“部門”表に対して,次のSQL文を実行したときの結果はどれか。

SELECT COUNT(*) FROM 社員,部門
  WHERE 社員.所属=部門.部門名 AND 部門.フロア=2

解答 ウ

【頭の準備体操】
COUNT(*)は,行数を求める関数。

「フロアが2階」にある,「所属(部門)が情報システム,経理,法務,購買」の従業員の人数(行数)を求める。
従業員番号が11002,11005,12002の3行。

令和5年7月修了試験  問20

国語と数学の試験を実施し,2教科の成績は氏名とともに“得点”表に記録されている。1教科は平均点以上で,残りの1教科は平均点未満の生徒氏名を“得点”表から抽出するSQL文はどれか。ここで,条件文Aと条件文Bには,それぞれ次の条件が 与えられているものとする。


〔条件文〕
 A国語の点数が国語の平均点以上
 B数学の点数が数学の平均点以上

解答 ウ

【頭の準備体操】
ORは, 一方が真ならば真
ANDは,全てが真ならば真

【イメージで解く】


令和6年6月修了試験  問21

ビューのSELECT権限に関する記述のうち,適切なものはどれか。

解答 エ

【頭の準備体操】
実表は,HDDなどに物理的に保存されている表。
ビューは,実表から射影,選択,結合などの操作で抽出した仮想表。 ⇒ 抽出後の仮想表を使うことで,利用者に必要な情報だけをアクセスさせることができる。

ビューのSELECT権限 ⇒ 元の表に対するSELECT権限にかかわらず,ビューに対するSELECT権限があれば,そのビューに対して問合せをすることができる。