平成24年度春期 応用情報技術者試験 午前 問26

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

販売価格が決められていない"商品"表に,次のSQL文を実行して販売価格を設定する。このとき,販売ランクがbの商品の販売価格の平均値は幾らか。 UPDATE 商品 SET 販売価格 = CASE WHEN 販売ランク = 'a' THEN 単価 * 0.9 WHEN 販売ランク = 'b' THEN 単価 - 500 WHEN 販売ランク = 'c' THEN 単価 * 0.7 ELSE 単価 END

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  1,675
  2.  2,100
  3.  2,250
  4.  2,500
解答・解説を見る

正解:エ

AI解説

CASE式はWHEN句の条件を上から評価し,最初に一致した式の値で更新する。販売ランクbの商品には「単価-500」が一律に適用されるため,bの商品の販売価格の平均は「単価の平均-500」で求められる。表の販売ランクbの商品の単価の平均は3,000円なので,3,000-500=2,500円となる。 ア: 1,675円は別ランクの計算式の混同などによる誤計算の値であり,bの商品の平均とは一致しない。 イ: 2,100円は単価平均3,000円にランクcの式(×0.7)を誤って適用した値である。 ウ: 2,250円はランクaの式(×0.9)を誤った対象に適用するなどした誤計算の値である。 エ: 正しい。ランクbの各商品の販売価格は単価-500円であり,平均すると3,000-500=2,500円となる。 💡 全行に同じ加減算を行う場合,平均も同じだけずれる(AVG(単価-500)=AVG(単価)-500)ことを使うと計算が速い。CASE式は該当ランクのWHEN句だけを適用すればよく,他ランクの行は無視してよい。

出典:平成24年度 春期 応用情報技術者試験 午前 問26 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問