平成23年度 春期 データベーススペシャリスト試験 午前II 問8
2025年6月30日
【問題8】
“取引先"表,"商品"表,"注文"表の3表を基底表とするビュー"注文123″を操作するSQL文のうち,実行できるものはどれか。ここで,各表の列のうち下線のあるものを主キーとする。
DELETE FROM 注文123 WHERE 取引先ID = '111’
INSERT INTO 注文123 VALUES (8, '目白商店’, 'レンチ’, 3)
SELECT 取引先.名称 FROM 注文123
UPDATE 注文123 SET 数量 = 3 WHERE 取引先名 = '目白商店’
【解説】
ビュー"注文123″は、"注文"表と"取引先"表を取引先IDで、"注文"表と"商品"表を商品番号で結合した後、商品番号が123の行の注文番号、取引先名、数量を抜き出したものです。
ア: DELETE FROM 注文123 WHERE 取引先ID = '111’
誤り。ビュー"注文123″には取引先ID列は存在しないため、この操作は実行できません。
イ: INSERT INTO 注文123 VALUES (8, '目白商店’, 'レンチ’, 3)
誤り。挿入しようとするデータの項目数がビュー"注文123″に含まれるカラム数よりも多いため、この操作は実行できません。
ウ: SELECT 取引先.名称 FROM 注文123
誤り。ビュー"注文123″には取引先名という列は存在しますが、取引先.名称という表記は適切ではありません。
エ: UPDATE 注文123 SET 数量 = 3 WHERE 取引先名 = '目白商店’
正しい。ビュー"注文123″には取引先名と数量列が存在するため、この操作は実行できます。
【答え】
エ: UPDATE 注文123 SET 数量 = 3 WHERE 取引先名 = '目白商店’
出典:平成23年度 春期 データベーススペシャリスト試験 午前II 問8