基本情報技術者試験のデータベースに関する過去問をわかりやすく解説!

今回は、基本情報技術者試験のデータベースに関する過去問を取り上げて解説します。データベースの知識はITシステムで広く利用されるため、基本をしっかり押さえておくことが重要です。今回は特にSQLに関連する問題に挑戦してみましょう!


問題

「次のSQL文を実行した結果、表示される従業員数はどれか?」

SELECT COUNT(*)
FROM employee
WHERE department = 'Sales' AND salary > 500000;

employee には次のようなデータが含まれています:

idnamedepartmentsalary
1田中Sales550000
2佐藤Marketing480000
3鈴木Sales520000
4高橋Sales450000
5伊藤HR600000
  • ア 1
  • イ 2
  • ウ 3
  • エ 4

SQLの基礎知識

まず、SQLはデータベースを操作するための言語であり、データの検索、追加、更新、削除を行う際に使います。この問題では、SELECT文を使用して、条件に合致するデータの数をカウントしています。

SELECT COUNT(*)
FROM employee
WHERE department = 'Sales' AND salary > 500000;

このSQL文のポイントは、COUNT(*) という集計関数です。この関数は、指定した条件に合致するレコードの数を数えます。さらに、WHERE 句で条件を指定しています。今回の条件は、以下の2つです。

  1. department = 'Sales' → 部門が「Sales(営業)」であること
  2. salary > 500000 → 給与が50万円より多いこと

各行をチェック!

では、この条件に基づいて、employee テーブルのデータを1行ずつ確認していきます。

idnamedepartmentsalary
1田中Sales550000
  • 部門が「Sales」、給与が50万円を超えているので、この行は条件に合致します。

| 2 | 佐藤 | Marketing | 480000 |

  • 部門が「Marketing」であるため、条件に合致しません。

| 3 | 鈴木 | Sales | 520000 |

  • 部門が「Sales」、給与が50万円を超えているので、この行も条件に合致します。

| 4 | 高橋 | Sales | 450000 |

  • 部門が「Sales」ですが、給与が50万円以下なので条件に合致しません。

| 5 | 伊藤 | HR | 600000 |

  • 部門が「HR」であるため、条件に合致しません。

正解

以上の確認から、条件に合致するレコードは田中さん鈴木さんの2人だけです。したがって、正解は イ:2 です!


SQL文の仕組みを解説

  1. SELECT COUNT(*): COUNT(*) はレコードの数を数える関数です。*は全ての列を対象とすることを示しており、レコードの数をそのままカウントします。
  2. FROM employee: employee テーブルからデータを取得します。
  3. WHERE: この句では条件を指定します。今回は「部門がSalesであり、かつ給与が50万円を超える」レコードを対象にしています。

データベースとSQLの重要性

データベースは現代のITシステムにおいて非常に重要な役割を果たしています。例えば、企業の顧客情報や売上データ、在庫管理など、様々なデータがデータベースに蓄積されます。SQLを理解することで、効率よくデータを操作し、必要な情報を迅速に取得できるようになります。


まとめ

今回の問題では、SQLのCOUNT関数とWHERE句を用いた条件検索について解説しました。正解は イ:2 でした。SQLの基本をしっかりマスターして、試験でも自信を持って解答できるようにしましょう!次回は別のデータベース関連の問題にも挑戦してみましょう!

コメント

タイトルとURLをコピーしました