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

- 1
- 2
- 3
- 4
[出典:ITパスポート試験 令和6年度 問93]
スポンサーリンク
正解
正解は「イ」です。
解説
SQLのワイルドカード「%」は0文字以上の任意の文字列を、「_」は1文字を表します。この問題では、氏名の中に「%葉_」というパターンに一致する従業員を探すことが求められています。
- ワイルドカードの解説
_
(アンダースコア):ちょうど1文字を表します。%
(パーセント):0文字以上の任意の文字列を表します。
- 今回の条件:「_葉」
_葉
は、「最初に1文字があり、その後に『葉』が続く」というパターンに一致するデータを抽出するSQLの条件です。
従業員表を確認すると、氏名の「_葉」に当てはまる従業員は「秋葉彩葉」、「鈴木葉子」の2名が該当します。正解は「2名(イ)」となります。
- 「千葉翔」 → 先頭が「千」なので「_葉」の条件を満たさない。
- 「葉山花子」 → 「葉」が先頭にあるため「_葉」には該当しない。
- 「秋葉彩葉」 → 先頭が「秋」で「_葉」に該当するため、抽出対象。
- 「鈴木葉子」 → 先頭が「鈴木」で「葉」が2文字目にあるため、「_葉」に該当する。
- 「佐藤乙葉」 → 「葉」が3文字目にあるため該当しない。
- 「稲葉小春」 → 「葉」が2文字目にあるが、「稲」が最初の1文字ではなく2文字目になるため、条件に合わない。
難易度
普通
SQLのワイルドカードの基本的な知識が必要であり、データベースの操作に関する理解が問われる問題です。
スポンサーリンク
用語補足
ワイルドカード:
SQLで使用される特殊記号で、特定のパターンに一致するデータを検索するために用いられます。「%」は0文字以上の任意の文字列を、「_」は任意の1文字を表します。
対策
- SQLのLIKE句におけるワイルドカードの使い方を復習し、検索パターンの違いによる結果の違いを理解することが重要です。
- 実際のデータに対してSQLクエリを実行し、どのようなデータが抽出されるかを試して理解を深めることをおすすめします。
created by Rinker
¥1,793
(2025/04/22 05:44:42時点 楽天市場調べ-詳細)