戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2017年 秋期 60


問題文

関係データベースで管理している“販売明細”表と“商品”表がある。ノートの売上数量の合計は幾らか。
ITパスポート 2017年 秋期  問60の問題画像

選択肢

40
80
120(正解)
200

🔒 解説は解答すると表示されます

関係データベースで管理している“販売明細”表と“商品”表がある。ノートの売上数量の合計は幾らか。【ITパスポート 解説】

正解の理由

商品表を見ると「ノート」の商品コードは S003 です。販売明細表で商品コード S003 の行は2つあり、売上数量は 40 と 80 です。これらを合計すると になります。したがって答えは (120)です。
(補足)ここで使う「合計」はデータベースの集計関数 SUM(足し算をする関数)に相当します。商品表はコードと名前の対応表で、販売明細表は実際の売上データを持っています。商品コードで対応付けてから数量を合計します。

解法ステップ

  1. 商品表で「ノート」の商品コードを確認する。
    • 商品表:S003 → ノート。
    • 解説:商品表は「コードと名前の対応表」です。
  2. 販売明細表から商品コード S003 の行を探す。
    • 見つかった行:売上数量 40、売上数量 80。
  3. 見つけた数量を合計する。
    • 計算:
  4. 答えは (120)。
(補足のSQL例)データベースで同じことを確認するSQL(SQLは Structured Query Language:データベースに問い合わせる言語):
-- 商品名から集計する場合(商品表と結合する例)
SELECT SUM(m.売上数量) AS 合計
FROM 販売明細 AS m
JOIN 商品 AS p ON m.商品コード = p.商品コード
WHERE p.商品名 = 'ノート';

-- 商品コードが分かっているならこちらの方が簡単
SELECT SUM(売上数量) AS 合計
FROM 販売明細
WHERE 商品コード = 'S003';

選択肢別の誤答解説

  • ア: 40
    • 誤りの理由:販売明細の S003 の行が2件あるうち、上の1件(40)だけを見てしまった場合の値です。ノートはもう1件(80)もあるため合計すべきです。
  • イ: 80
    • 誤りの理由:こちらは S003 のもう1件だけ(80)を選んでしまった場合です。どちらか一方だけを使うミスです。
  • : 120
    • 正しい理由:S003 の売上数量 40 と 80 を合計した値です。両方を考慮するのが正解です。
  • エ: 200
    • 誤りの理由:販売明細の全行(20 + 40 + 60 + 80 = 200)を合計してしまった場合の値です。これは「全商品の合計」であって「ノートだけの合計」ではありません。

よくある誤解

  • 「商品表の行数=売上行数」と混同する
    • 商品表は商品マスタ(コードと名前の一覧)で、売上の件数とは別です。売上は販売明細表に複数行あるのが普通です。
  • 「商品名を見て売上を数える」だけで済むと思う
    • 商品名は商品表にあるため、販売明細表と対応付け(結合、JOIN)が必要です。商品コードで一致させてから集計します。
  • 「合計は表全体を足せばよい」と思う
    • 問題の質問が「ノートの合計」なら、ノートに該当する行だけをフィルタ(選択)して合計する必要があります。

補足コラム

  • 主キー(primary key)と外部キー(foreign key)
    • 商品表の「商品コード」は各商品を一意に識別する「主キー」です。販売明細表の「商品コード」は商品表を参照する「外部キー」です。外部キーで2つの表をつなげて(JOIN)意味のある集計ができます。
  • 集計と GROUP BY
    • 複数商品それぞれの合計を出したいときは、SUM(合計)と GROUP BY(グループ化)を使います。例:
SELECT p.商品名, SUM(m.売上数量) AS 合計数量
FROM 販売明細 AS m
JOIN 商品 AS p ON m.商品コード = p.商品コード
GROUP BY p.商品名;
  • これで各商品(鉛筆、消しゴム、ノート)の売上数量合計を一度に出せます。

FAQ

Q1: 「商品名が重複していたらどうする?」
A1: 通常、商品コードで管理します。商品名が同じでも別商品であれば別コードを振ります。集計はコードで行うのが安全です。
Q2: 商品表に存在しない商品コードが販売明細にあったら?
A2: データの不整合(孤立した外部キー)が起きています。実務ではデータ修正や欠損処理が必要です。SQLで確認するには LEFT JOIN を使って NULL を探します。
Q3: 電卓でやる以外に速く集計する方法は?
A3: Excel やデータベース(SQL)の集計機能を使うと速く正確にできます。Excelならフィルタ→合計、データベースなら SUM 関数を使います。

関連キーワード: 関係データベース、リレーショナル、商品コード、販売明細、集計、SUM、JOIN、GROUP BY、主キー、外部キー、SQL
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について