副問合せとDISTINCT句を用いたSQL文の出力件数

正解は ウ (3)です。 先に副問合せで、全商品の(販売単価−仕入単価)の平均を求めます。次に、その平均より差が大きい商品の仕入先コードを、 DISTINCT で重複を除いて 数えます。 商品 販売−仕入 平均360より大 仕入先 A001 200 S1 B002 200 S2 C003 100 S2 D004 900 ○ S1 E005 400 ○ S1 F006 200 S3 G007 300 S3 H008 500 ○ S4 I009 500 ○ S5 J010 300 S6 差の合計は3,600なので平均は360です。条件を満たす4商品の仕入先は S1, S1, S4, S5 で、重複を除くと S1, S4, S5 の3つになります。

“商品”表に対して,次の 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

出典令和4年度 秋期 応用情報技術者試験 午前 問28
ア
1
イ
2
ウ
3
エ
4