過去問ハブ🔥 0日
OS・ネットワーク・データベース関係代数・SQL・正規化・トランザクション難易度 標準44 / 50

「納品」表(顧客番号, 商品番号, 数量)から、顧客ごとの数量の合計が10以上の顧客について、顧客番号と合計を求めたい。SQL 文「SELECT 顧客番号, SUM(数量) FROM 納品 [ a ]」の a に入れるものとして、適切なものはどれか。

選択肢をタップすると、その場で答え合わせできます

正解と解説を見る

正解 BGROUP BY 顧客番号 HAVING SUM(数量) >= 10

解説

正解は「GROUP BY 顧客番号 HAVING SUM(数量) >= 10」です。GROUP BY で顧客番号ごとにグループを作り、HAVING 句でグループごとの集計値に条件を付けます。数量の合計を求めるには SUM を使います。「GROUP BY 顧客番号 HAVING COUNT(数量) >= 10」は、数量の合計ではなく、納品の行数(件数)が10以上の顧客を求めてしまいます。「WHERE SUM(数量) >= 10 GROUP BY 顧客番号」は、行ごとに評価される WHERE 句に集約関数を書いており、構文エラーになります。「ORDER BY 顧客番号 HAVING SUM(数量) >= 10」は、グループ化をしておらず、句の順序も誤っています。

  • #SQL
  • #集約関数

この調子でOS・ネットワーク・データベースを続けて解く

▶ この科目の連続演習へ進む(10問)

この問題の分野を深く学ぶなら

PR情報工学・理系基礎の教科書を探す

詳細を見る

OS・ネットワーク・データベースの問題一覧へ戻る

「関係代数・SQL・正規化・トランザクション」の関連問題