IPA過去問ドリル

令和4年度 秋期 応用情報技術者試験 午前 問28

テクノロジ/データベース

“商品”表に対して,次の SQL 文を実行して得られる仕入先コード数は幾つか。 〔SQL文〕 SELECT DISTINCT 仕入先コード FROM 商品 WHERE (販売単価 - 仕入単価) > (SELECT AVG(販売単価 - 仕入単価) FROM 商品)

令和4年度 秋期 応用情報技術者試験 午前 問28の図

出典:令和4年度 秋期 応用情報技術者試験 午前 問28

正解:ウ

解説

各商品の粗利(販売単価−仕入単価)は,A:200,B:200,C:100,D:900,E:400,F:200,G:300,H:500,I:500,J:300 で,平均は 3,600÷10=360 です。粗利が 360 を超えるのは D004(900,S1),E005(400,S1),H008(500,S4),I009(500,S5) の4行で,DISTINCT により仕入先コードは S1,S4,S5 の3種類となります。

選択肢ごとの解説

  • 誤り。1 は S1 だけを数えた場合の値です。S4,S5 も条件を満たします。
  • 誤り。2 は該当行の数え漏れなどによる値です。条件を満たす仕入先コードは S1,S4,S5 の3種類です。
  • 正しい。平均粗利 360 を超える行の仕入先コードは S1,S1,S4,S5 で,重複を除くと3種類です。
  • 誤り。4 は DISTINCT による重複排除を忘れ,該当する4行をそのまま数えた場合の値です。
応用情報技術者の過去問を演習モードで解く