データベース
基本情報技術者試験|次の「受注」表に対し SQL文 `SELECT COUNT(*), SUM(金額) FROM 受注 WHERE…
次の「受注」表に対し 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行を除外した誤りである。
データベースの他の問題
次の「給与」表に対し SQL文 `SELECT 部署, AVG(給与) FROM 給与 GROUP BY 部署…次の「社員」表と「部署」表を `社員 LEFT OUTER JOIN 部署 ON 社員.部署ID = 部署.部署ID`…相関副問合せ(相関サブクエリ)の特徴として最も適切なものはどれか。SQLで `SELECT 名前 FROM 社員 WHERE 部署ID IN (SELECT 部署ID FROM 部署…SQLの `UPDATE 商品 SET 価格 = 価格 * 1.1 WHERE 分類 = '食品'`…SQLのデータ制御言語(DCL)に関する説明として最も適切なものはどれか。関係データベースのビュー(view)に関する説明として最も適切なものはどれか。分散データベースで複数サイトにまたがるトランザクションの一貫性を保つ2相コミットの第1相(準備相)で行われることはどれか。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0241
