ITパスポート過去問 令和7年度(2025年)問66
関係データベースで管理している次の“ログイン記録”表及び“部署”表において,ログイン結果が失敗となったことのある,又は,2022年4月10日09:00:00以前にログイン結果が成功となったことのある従業員が所属する部署名だけを全て挙げたものはどれか。


選択肢
- ア:営業部,システム部
- イ:営業部,システム部,人事部
- ウ:営業部,人事部
- エ:システム部,人事部
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
まず“ログイン記録”表から、条件である「ログイン結果が失敗」または「2022年4月10日09:00:00以前にログイン結果が成功」のどちらかを満たす行を抽出します。次に、抽出した行に含まれる部署番号を重複なく集め、“部署”表で部署名に置き換えます。この結果、部署番号は001、002、003となり、部署名は営業部、システム部、人事部の全てが該当します。
Point
この問題は、二つの表を読み取り、OR条件と日時条件で該当行を抽出した上で、部署番号を部署名に変換し、重複を除いて部署名を列挙できるかを確認しています。
解くために必要な知識
この問題を解くには、関係データベースにおけるデータの抽出と、表同士の関連付け(結合の考え方)の理解が必要です。
用語の整理
| 用語名 | 意味 |
|---|---|
| 関係データベース | データを複数の表で管理し、共通する項目で表同士を関連付けて扱う方式です。 |
| 抽出 | 表の中から、条件に一致する行だけを取り出す操作です。 |
| 結合 | 複数の表を、共通する項目(この問題では部署番号)で対応付けて扱うことです。 |
図表の読み取り方
1. 条件を日本語のまま分解する
この問題の条件は、次の2条件の「または」です。
-
ログイン結果が失敗
-
2022年4月10日09:00:00以前にログイン結果が成功
2. ログイン記録から条件に合う行を選ぶ
各行について、ログイン結果と日時を見て条件に合うかを判定します。
3. 条件に合った行の「部署番号」を集める
同じ部署番号が複数回出ることがあるので、最後は重複を除きます。
4. 部署表で「部署番号」を「部署名」に変換する
部署番号と部署名の対応は“部署”表にあるため、部署番号から部署名を確定します。
解くための手順
手順1
ログイン結果が「失敗」の行を抽出します。
手順2
ログイン結果が「成功」かつ日時が「2022-04-10 09:00:00以前」の行を抽出します。
手順3
手順1と手順2で抽出した行の部署番号を、重複なく列挙します。
手順4
部署表で部署番号に対応する部署名を求め、部署名だけを全て挙げます。
問題の解法手順
件は次のどちらかを満たすことです。
-
ログイン結果が「失敗」
-
ログイン結果が「成功」かつ日時が「2022-04-10 09:00:00以前」
図表の読み取り
条件に合う行の抽出(ログイン記録)
| 日時 | 部署番号 | ログイン結果 | 条件に合う理由 |
|---|---|---|---|
| 2022-04-10 08:50:42 | 003 | 失敗 | 失敗のため |
| 2022-04-10 08:53:15 | 003 | 成功 | 09:00:00以前の成功のため |
| 2022-04-10 08:55:48 | 002 | 成功 | 09:00:00以前の成功のため |
| 2022-04-10 09:39:22 | 003 | 失敗 | 失敗のため |
| 2022-04-10 10:00:02 | 001 | 失敗 | 失敗のため |
部署番号の重複排除
抽出された部署番号は、001、002、003です。
部署名への変換(部署表の参照)
| 部署番号 | 部署名 |
|---|---|
| 001 | 営業部 |
| 002 | システム部 |
| 003 | 人事部 |
以上より、該当する部署名は「営業部、システム部、人事部」です。
選択肢ごとの解説
- ア:不正解
営業部とシステム部だけでは不足です。ログイン結果が失敗の記録に部署番号003があり、部署表より003は人事部なので、人事部も含める必要があります。
- イ:正解
営業部、システム部、人事部の3つがそろっています。失敗は部署番号001と003で発生しており、09:00:00以前の成功は部署番号002と003で発生しています。OR条件なので、001、002、003に対応する3部署すべてが対象です。
- ウ:不正解
営業部と人事部だけでは不足です。2022-04-10 08:55:48の成功(従業員10002)は部署番号002で、部署表より002はシステム部なので、システム部も必要です。
- エ:不正解
システム部と人事部だけでは不足です。ログイン結果が失敗の記録に部署番号001(従業員10011)があり、部署表より001は営業部なので、営業部も含める必要があります。
まとめ
まず“ログイン記録”表から、条件である「ログイン結果が失敗」または「2022年4月10日09:00:00以前にログイン結果が成功」のどちらかを満たす行を抽出します。次に、抽出した行に含まれる部署番号を重複なく集め、“部署”表で部署名に置き換えます。この結果、部署番号は001、002、003となり、部署名は営業部、システム部、人事部の全てが該当します。
テクノロジ系 > 技術要素 > データベース
営業部とシステム部だけでは不足です。ログイン結果が失敗の記録に部署番号003があり、部署表より003は人事部なので、人事部も含める必要があります。
営業部、システム部、人事部の3つがそろっています。失敗は部署番号001と003で発生しており、09:00:00以前の成功は部署番号002と003で発生しています。OR条件なので、001、002、003に対応する3部署すべてが対象です。
営業部と人事部だけでは不足です。2022-04-10 08:55:48の成功(従業員10002)は部署番号002で、部署表より002はシステム部なので、システム部も必要です。
システム部と人事部だけでは不足です。ログイン結果が失敗の記録に部署番号001(従業員10011)があり、部署表より001は営業部なので、営業部も含める必要があります。