“商品”表に対して、次の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 |
D5 |
2,000 |
J010 |
J |
1,300 |
S6 |
1,000 |
|
答え ウ
【解説】
SQL文の意味は、“商品”表の全ての商品の(販売単価 - 仕入単価)の平均(AVG)よりも、(販売単価 - 仕入単価)の大きい商品の仕入先コードを重複なしで出力するというものです。
“商品”表の全ての商品の(販売単価 - 仕入単価)の平均を求めると、360になります。
(販売単価 - 仕入単価)がこの340より大きい商品は、D004、E005、H008、I009で仕入先はD004とE004がS1、H008がS4、I009がS5なので、出力される仕入先数は3(ウ)になります。
【キーワード】
・SQL文
【キーワードの解説】
- SQL文
SQL文で出てくる句について説明します。
- SELECT
出力するデータを指定します。
- DISTINCT
同じ内容の(重複した)データを除きます。
- FROM
操作するデータを指定します。
- AS
操作するデータの名前を変えます。
- WHERE
操作する条件を指定します。
- GROUP BY
同じ内容のデータをまとめます。
- HAVING
GROUP BYで抽出条件を指定する。
- COUNT
個数を数えます。
- SUM
集計(加算)します。
- AVG
平均値を計算します。
もっと、「DISTINCT」について調べてみよう。
戻る
一覧へ
次へ
|