データ操作(全67問中31問目)
No.31解説へ
販売価格が決められていない"商品"表に,次のSQL文を実行して販売価格を設定する。このとき,販売ランクがbの商品の販売価格の平均値は幾らか。
UPDATE 商品 SET 販売価格 =
CASE
WHEN 販売ランク = 'a' THEN 単価 * 0.9
WHEN 販売ランク = 'b' THEN 単価 - 500
WHEN 販売ランク = 'c' THEN 単価 * 0.7
ELSE 単価
END
CASE
WHEN 販売ランク = 'a' THEN 単価 * 0.9
WHEN 販売ランク = 'b' THEN 単価 - 500
WHEN 販売ランク = 'c' THEN 単価 * 0.7
ELSE 単価
END
出典:平成24年春期 問26
- 1,675
- 2,100
- 2,250
- 2,500
広告
解説
販売ランクによって異なる販売価格の設定をCASE文によって振り分けています。商品名ごと条件に従い販売価格を計算すると、
[商品名U … 販売ランクa]
2,000×0.9=1,800
[商品名V … 販売ランクb]
2,000-500=1,500
[商品名W … 販売ランクa]
3,000×0.9=2,700
[商品名X … 販売ランクc]
3,000×0.7=2,100
[商品名Y … 販売ランクb]
4,000-500=3,500
[商品名Z … 販売ランクd]
販売ランクがa、b、c以外なので販売価格=単価100販売ランクがbの商品はV、Yで販売価格はそれぞれ1,500円,3,500円なので
(1,500+3,500)/2=2,500
平均値は2,500円になります。
[商品名U … 販売ランクa]
2,000×0.9=1,800
[商品名V … 販売ランクb]
2,000-500=1,500
[商品名W … 販売ランクa]
3,000×0.9=2,700
[商品名X … 販売ランクc]
3,000×0.7=2,100
[商品名Y … 販売ランクb]
4,000-500=3,500
[商品名Z … 販売ランクd]
販売ランクがa、b、c以外なので販売価格=単価100販売ランクがbの商品はV、Yで販売価格はそれぞれ1,500円,3,500円なので
(1,500+3,500)/2=2,500
平均値は2,500円になります。
広告