応用情報技術者試験 午前

解説一覧 / 令和4年度 秋期 問28

解説を読む ↓

28令和4年度 秋期テクノロジ系

“商品”表に対して,次のSQL文を実行して得られる仕入先コード数は幾つか。 〔SQL文〕 SELECT DISTINCT 仕入先コード FROM 商品 WHERE (販売単価 - 仕入単価) > (SELECT AVG (販売単価 - 仕入単価) FROM 商品) 商品 商品コード 商品名 販売単価 仕入先コード 仕入単価 A001 A 1,000 S1 800 B002 B 2,500 S2 2,300 C003 C 1,500 S2 1,400 D004 D 2,500 S1 1,600 E005 E 2,000 S1 1,600 F006 F 3,000 S3 2,800 G007 G 2,500 S3 2,200 H008 H 2,500 S4 2,000 I009 I 2,500 S5 2,000 J010 J 1,300 S6 1,000

問題の図
図(問題冊子 p.14 より)— クリックで原寸

正解はウ

解説 本サイト独自(IPA公表のものではありません)

 販売単価と仕入単価の差は順に200,200,100,900,400,200,300,500,500,300で,平均は360である。平均を上回る行の仕入先コードはS1,S1,S4,S5となり,DISTINCTで重複するS1を一つにするとコード数は3である。

  •  DISTINCTを重複している値だけを抽出する指定だと誤解すると,該当行で二度現れるS1だけを数えて1になる。実際には重複を一つにまとめ,S4とS5も残す。
  •  DISTINCTを重複した値を全て除外する指定だと誤解すると,二度現れるS1を両方捨て,S4とS5だけを数えて2になる。S1は一つ残さなければならない。
  •  平均を上回る商品D,E,H,Iの4行をそのまま数えると4になる。問われているのは商品数ではなく,DISTINCT適用後の仕入先コード数なので,重複するS1をまとめる必要がある。
この解説は間違っています

 ログインは不要です

この解説は,別のモデルによるレビューを受けています。

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

自分で解いてから答え合わせをするなら 問題バンク — 解説は解答後に表示されます。