令和6年度 秋期 データベーススペシャリスト試験 午前II 問7

テクノロジデータベース

この問題は2024(R6)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

“商品”表と“商品別売上実績”表に対して,SQL文を実行して得られる売上平均金額はどれか。

商品
図の説明テキスト
商品コード 商品名 商品ランク
S001 PPP A
S002 QQQ A
S003 RRR A
S004 SSS B
S005 TTT C
S006 UUU C
商品別売上実績
図の説明テキスト
商品コード 売上合計金額
S001 50
S003 250
S004 350
S006 450
〔SQL 文〕
図の説明テキスト

SELECT AVG(売上合計金額) AS 売上平均金額
FROM 商品 LEFT OUTER JOIN 商品別売上実績
ON 商品.商品コード = 商品別売上実績.商品コード
WHERE 商品ランク = 'A'

解答・解説を読む

正解: 選択肢

本問は、関係データベースにおける表の結合(JOIN)集計関数(AVG)の動作に関する理解を問う問題です。具体的な表のデータおよびSQL文に基づき、正しく演算結果を導出できるかがポイントとなります。

処理のステップ

  1. 表の結合
    “商品”表と“商品別売上実績”表を、共通の属性(商品番号など)を条件として結合します。
  2. 売上金額の算出
    結合後の各行において、売上金額(例:単価と数量の積など)を算出します。
  3. 平均値の計算
    SQLの集計関数である AVG は、指定された列や計算式の平均値を求めます。
    算出したすべての売上金額の合計を、結合後の対象行数で割ることで、売上平均金額である 150 が導き出されます。

各選択肢の解説

  • ア 100: 誤り。集計対象の最小値や、一部の行のみを計算対象とした場合の誤った数値と考えられます。
  • イ 150: 正解。SQL文の結合条件と集計関数を正しく適用した結果得られる売上平均金額です。
  • ウ 225: 誤り。集計時の行数の誤認や、単価などの加算を誤った場合などに生じる数値と考えられます。
  • エ 275: 誤り。特定の高額な売上のみを抽出した場合や、合計値の計算ミスの結果と考えられます。