SC情報処理安全確保支援士試験 午前Ⅱ
令和6年度春期 情報処理安全確保支援士 午前Ⅱ 問21
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア人事社員番号所属勤続年数 | 年齢1総務部13312総務部5283人事部1284営業部8395総務部729 〔SQL文
- イSELECT社員番号FROM人事WHERE (勤続年数 > 10 OR年齢 > 28) AND所属 = 総務部"
- ウ1、 2.5イ1. 3、 4、 5ウ1、3、.5エ1、. 5
- エー19一
解き方のヒントを見る
SQLの条件式は、かっこの中を先にチェックしよう
この条件は、まず「勤続年数が10年より長い、または年齢が28歳より上」という人を探して、そのうえで「所属が総務部」の人だけに絞る、という意味だよ。入場ゲートで例えると、最初のゲートで「ベテランさん、または29歳以上の人」を通して、次のゲートで「総務部の人だけ通ってね」と確認する感じだね。該当するのは、総務部で勤続年数が13年の社員1と、総務部で年齢が29歳の社員5だよ。
この問題で問われていること
ポイントは、SQLの論理式で AND と OR をどう読むかだよ。特に、かっこがある場合はかっこの中を先に判定するので、条件を左からなんとなく読まずに、どの条件がひとまとまりなのかを落ち着いて確認しよう。
SQL 条件評価
まず OR を評価するより、括弧内をまとめ、その結果に所属条件を AND する。
(勤続>10 OR 年齢>28)\nAND 所属=総務部\n-> 1,5
確認ポイント
- 社員 3 は人事部なので除外される。
- 社員 2 は勤続 5 かつ年齢 28 で条件不成立です。
- 1,5 を選ぶ。
正解と解説を見る
正解
エ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
不正解だよ。1、2、5は総務部の人たちだけど、2は勤続5年で10年超ではなく、年齢も28歳ちょうどで「28歳超」ではないんだ。「超」はその数字より大きいという意味だから、28は入らないよ。映画館の『身長120cm超』なら120cmぴったりは対象外、という感じだね。
選択肢イ
不正解だよ。1、3、4、5は「勤続年数が10年超または年齢が28歳超」という条件だけを見ると合っている人たちだけど、今回はさらに「所属が総務部」という入場条件もあるんだ。お店の割引券で「学生または65歳以上、かつ会員限定」と言われたら、会員じゃない人は外れるよね。3は人事部、4は営業部なので外れるよ。
選択肢ウ
不正解だよ。1、3、5のうち、3は勤続年数11年で前半条件は満たすけど、所属が人事部なんだ。SQLでは最後に「AND 所属 = '総務部'」があるから、総務部の人だけが通れる窓口だと考えよう。3は別の窓口の人なので入れないよ。
選択肢エ(正解)
正解だよ。条件は「勤続年数が10年超または年齢が28歳超」で、さらに「所属が総務部」の人。社員番号1は勤続13年・年齢31歳・総務部なのでOK、社員番号5は年齢29歳・総務部なのでOKだよ。つまり、2つのチェックを両方通過できるのは1と5だけなんだ。
出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 情報処理安全確保支援士試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針