平成24年度 春期 応用情報技術者試験 午前 問26
テクノロジ/データベース販売価格が決められていない"商品"表に,次のSQL文を実行して販売価格を設定する。このとき,販売ランクがbの商品の販売価格の平均値は幾らか。 UPDATE 商品 SET 販売価格 = CASE WHEN 販売ランク = 'a' THEN 単価 * 0.9 WHEN 販売ランク = 'b' THEN 単価 - 500 WHEN 販売ランク = 'c' THEN 単価 * 0.7 ELSE 単価 END 商品表(商品番号,商品名,販売ランク,単価,販売価格) 1001,U,a,2000,NULL 2002,V,b,2000,NULL 3003,W,a,3000,NULL 4004,X,c,3000,NULL 5005,Y,b,4000,NULL 6006,Z,d,100,NULL (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成24年度 春期 応用情報技術者試験 午前 問26
- ア1,675
- イ2,100
- ウ2,250
- エ2,500
正解:エ
解説
SQL文により,販売ランクがbの商品は単価から500を引いた値が販売価格になります。ランクbの商品はV(単価2,000)とY(単価4,000)で,それぞれ販売価格は1,500円と3,500円になります。平均値は(1,500+3,500)÷2=2,500円です。
選択肢ごとの解説
- ア誤り。単価そのものの平均((2,000+4,000)/2=3,000)から誤って別の値を引くなど計算を誤った場合の値に近いです。
- イ誤り。500を1回だけ引いた計算をするなど,2商品それぞれから500を引く処理を誤った場合の値に近いです。
- ウ誤り。単価の平均3,000から一部だけ差し引いた場合など,計算過程を誤った場合に生じ得る値です。
- エ正しい。V,Yの販売価格(1,500,3,500)の平均は2,500円です。