令和4年度 秋期 応用情報技術者試験 午前 問28
テクノロジ/データベース“商品”表に対して,次の SQL 文を実行して得られる仕入先コード数は幾つか。 〔SQL文〕 SELECT DISTINCT 仕入先コード FROM 商品 WHERE (販売単価 - 仕入単価) > (SELECT AVG(販売単価 - 仕入単価) FROM 商品)

出典:令和4年度 秋期 応用情報技術者試験 午前 問28
- ア1
- イ2
- ウ3
- エ4
正解:ウ
解説
各商品の粗利(販売単価−仕入単価)は,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行をそのまま数えた場合の値です。