※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「B:2」です。
氏名が「%葉_」に該当する従業員は、任意の文字列+「葉」+任意の1文字で構成されるため、「佐藤乙葉」「秋葉彩葉」の2名です。
この記事では、ITパスポート試験(令和6年度)テクノロジ系第38問「関係データベースの部分一致検索」について、試験対策の観点からわかりやすく解説します。
ワイルドカード検索の仕組み
%=0文字以上の任意の文字列、_=任意の1文字
SQLなどの関係データベースでの部分一致検索では、ワイルドカードを使って柔軟な検索が可能です。
例:「%葉_」は、氏名の任意の位置に「葉」があり、その直後に任意の1文字が続く文字列を抽出します。
抽出される従業員の確認
- 千葉翔 → 「葉」の後に1文字が続かない → ×
- 葉山花子 → 「葉」の後に「山」 → ×(「山」は2文字の先頭ではないため)
- 鈴木葉子 → 「葉」の後に「子」 → ×(前に2文字あるため完全一致ではない)
- 佐藤乙葉 → 「葉」の後に1文字が続 → ×? ここは1文字? → 確認:最後の文字は葉なので1文字後なし → ×
- 秋葉彩葉 → 「葉」の後に「彩葉」 → 「葉」の後に1文字 → 条件に合う → ○
- 稲葉小春 → 「葉」の後に「小」 → ○
よって抽出されるのは2名です。
問われているポイント
ワイルドカードを使ったSQL検索の仕組みを理解しているかが問われています。「%」と「_」の意味を正確に覚えておきましょう。
気を付けてほしい点(勘違いしやすいポイント)
- %は0文字以上の任意の文字列、_は1文字だけを表す
- 検索条件の位置や文字数を正確に確認する
ITパスポート試験での出題パターン
テクノロジ系では、SQLのLIKE演算子やワイルドカードを使った部分一致検索が問われることがあります。
この知識が使われている問題
まとめ
- %=0文字以上の任意の文字列、_=1文字
- 条件「%葉_」では「葉」の直前に任意の文字列、直後に1文字が続く氏名が抽出される
- ワイルドカード検索の仕組みを正確に理解することが重要