データベース

基本情報技術者試験次の「受注」表に対し SQL文 `SELECT COUNT(*), SUM(金額) FROM 受注 WHERE…

テクノロジ系データベース計算問題難易度:normal
次の「受注」表に対し SQL文 `SELECT COUNT(*), SUM(金額) FROM 受注 WHERE 金額 >= 3000` を実行した。得られる結果の組はどれか。 | 受注ID | 金額 | |---|---| | 1 | 2000 | | 2 | 3000 | | 3 | 5000 | | 4 | 3000 | | 5 | 1000 | | 6 | 4000 |
COUNT=5、SUM=17000
COUNT=4、SUM=15000(該当4行の合計)
COUNT=6、SUM=18000
COUNT=3、SUM=12000
正解
イ.COUNT=4、SUM=15000(該当4行の合計)

WHERE 金額>=3000 で残る行は受注ID 2(3000)・3(5000)・4(3000)・6(4000)の4行であり、COUNT(*)=4、SUM(金額)=3000+5000+3000+4000=15000となるため正しい。

?選択肢ごとの解説

ア ×COUNT=5、SUM=17000 は条件を金額>=2000と誤読し、2000の行まで含めて集計した誤りである。正しくは金額>=3000の4行のみが対象。
イ ○WHERE 金額>=3000 で残る行は受注ID 2(3000)・3(5000)・4(3000)・6(4000)の4行であり、COUNT(*)=4、SUM(金額)=3000+5000+3000+4000=15000となるため正しい。
ウ ×COUNT=6、SUM=18000はWHERE句を無視して全6行を集計した誤りで、3000未満の行も数えてしまっている。
エ ×COUNT=3、SUM=12000は『>=』を『>』と取り違え3000ちょうどの2行を除外した誤りである。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0241

【基本情報技術者試験】次の「受注」表に対し SQL文 `SELECT…|正解「COUNT=4、SUM=15…」|ukamiru 過去問