平成27年 秋期 応用情報技術者 午前 問29

“倉庫別商品在庫集計”表から在庫数の合計を求めたい。
倉庫番号‘C003’の倉庫で在庫数が100以上の商品に対して、全ての倉庫における在庫数の合計を求めるSQL文の a に入る適切な字句はどれか。
ここで、該当する商品は複数存在するとともに在庫数が100未満の商品も存在するものとする。
また、実線の下線は主キーを表す。

倉庫別商品在庫集計(倉庫番号商品コード、在庫数)

[SQL文]
 SELECT 商品コード, SUM(在庫数) AS 在庫合計 FROM 倉庫別商品在庫集計
     WHERE   a  
     GROUP BY 商品コード

 ア  商品コード = (SELECT 商品コード FROM 倉庫別商品在庫集計
          WHERE 倉庫番号 = ‘C003’ AND 在庫数 >= 100)
 イ  商品コード = ALL (SELECT 商品コード FROM 倉庫別商品在庫集計
          WHERE 倉庫番号 = ‘C003’ AND 在庫数 >= 100)
 ウ  商品コード IN (SELECT 商品コード FROM 倉庫別商品在庫集計
          WHERE 倉庫番号 = ‘C003’ AND 在庫数 >= 100)
 エ  EXISTS (SELECT * FROM 倉庫別商品在庫集計
          WHERE 倉庫番号 = ‘C003’ AND 在庫数 >= 100)


答え ウ


解説
aに入るSQL文は倉庫番号‘C003’で在庫数が100個以上の商品コードを抽出するので
 商品コード IN (SELECT 商品コード FROM 倉庫別商品在庫集計
          WHERE 倉庫番号 = ‘C003’ AND 在庫数 >= 100)

(ウ)になる。


キーワード
・SQL文

キーワードの解説
  • SQL文
    SQL文で出てくる句について説明します。
    • SELECT
      出力するデータを指定します。
    • DISTINCT
      同じ内容の(重複した)データを除きます。
    • FROM
      操作するデータを指定します。
    • AS
      操作するデータの名前を変えます。
    • WHERE
      操作する条件を指定します。
    • GROUP BY
      同じ内容のデータをまとめます。
    • HAVING
      GROUP BYで抽出条件を指定する。
    • COUNT
      個数を数えます。
    • SUM
      集計(加算)します。
    • AVG
      平均値を計算します。
    • ORDER
      結果をソートします。

もっと、「SQL文」について調べてみよう。

戻る 一覧へ 次へ