令和6年度 ITパスポート試験 公開問題 問93

関係データベースで管理している“従業員”表から,氏名が‘%葉_’に該当する従業員を抽出した。抽出された従業員は何名か。ここで,“_”は任意の1文字を表し,“%”は0文字以上の任意の文字列を表すものとする。

従業員
図の説明テキスト
従業員番号 氏名
S001 千葉翔
S002 葉山花子
S003 鈴木葉子
S004 佐藤乙葉
S005 秋葉彩葉
S006 稲葉小春
解答・解説

正解: イ. 2

関係データベースのパターンマッチング検索において、ワイルドカードの指定方法を正しく理解しているかを問う問題です。

問題文より、各ワイルドカードの役割は以下の通りです。

  • _(アンダースコア):任意の 1文字
  • %(パーセント):0文字以上 の任意の文字列

これらを踏まえると、検索条件である '%葉_' は、「0文字以上の任意の文字列」+「葉」+「任意の1文字」という構成になります。言い換えると、「最後から2文字目が『葉』である文字列」 を抽出する条件です。

図表の「従業員」表の各氏名をこの条件に当てはめて判定します。

  • 千葉翔:千(0文字以上の文字列)+ 葉 + 翔(1文字) → 該当する
  • 葉山花子:「葉」の後ろが「山花子」の3文字のため → 該当しない
  • 鈴木葉子:鈴木(0文字以上の文字列)+ 葉 + 子(1文字) → 該当する
  • 佐藤乙葉:「葉」の後ろに文字がない(0文字)ため → 該当しない
  • 秋葉彩葉:1つ目の「葉」の後ろは「彩葉」の2文字、2つ目の「葉」の後ろは0文字のため → 該当しない
  • 稲葉小春:「葉」の後ろが「小春」の2文字のため → 該当しない

条件に該当するのは「千葉翔」と「鈴木葉子」の 2名 です。したがって正解は「イ」となります。

各選択肢の解説

  • ア:1名ではありません。
  • イ:正解です。該当するのは2名です。
  • ウ:3名ではありません。
  • エ:4名ではありません。

Spineチーム