平成23年度 秋期 応用情報技術者試験 午前 問30
更新可能なビューを作成するSQL文はどれか。ここで,SQL文中に現れる表は全て更新可能とする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
ビューを更新できるのは,ビューの各行が元の表のどの行に当たるかを一意に特定できる場合です。DISTINCT,GROUP BY,集合関数(SUM,AVGなど)を使ったビューは,複数の行がまとめられるため,元の行を特定できず更新できません。
-
ア: WHERE句で行を選択しただけのビュー
正しい。1つの表から行と列を選択しただけなので,ビューの各行が元の表の行に1対1で対応し,更新可能です。 -
イ: DISTINCTを使ったビュー
誤り。重複行がまとめられるため,元の表のどの行を更新すればよいか特定できません。 -
ウ: GROUP BYとSUMを使ったビュー
誤り。グループごとに集計した値は元の表の行と対応しないため,更新できません。 -
エ: AVGを使ったビュー
誤り。表全体の平均値は元の表の特定の行と対応しないため,更新できません。
答え
ア: CREATE VIEW 高額商品(商品番号, 商品名, 商品単価) AS SELECT 商品番号, 商品名, 商品単価 FROM 商品 WHERE 商品単価 > 1000
出典:平成23年度 秋期 応用情報技術者試験 午前 問30