関係データベースで管理している“従業員”表から,氏名が‘%葉_’に該当する従業員を抽出した。
抽出された従業員は何名か。
ここで,“_”は任意の1文字を表し,“%”は0文字以上の任意の文字列を表すものとする。
〔従業員表〕
S001:千葉翔
S002:葉山花子
S003:鈴木葉子
S004:佐藤乙葉
S005:秋葉彩葉
S006:稲葉小春
正答2
解説
正解は2です。
SQLのLIKE句のパターン‘%葉_’に一致する氏名の数を数える問題です。
“%”は0文字以上の任意の文字列、“_”は任意の1文字を表します。
したがって、このパターンは「最後から2文字目が葉で、その後に1文字だけ続いて終わる」氏名に一致します。
【計算】
S001の千葉翔は、最後から2文字目が葉で、その後が翔の1文字なので一致します。
S002の葉山花子は、最後から2文字目が花なので一致しません。
S003の鈴木葉子は、最後から2文字目が葉で、その後が子の1文字なので一致します。
S004の佐藤乙葉は、最後の文字が葉で、葉の後に1文字がないので一致しません。
S005の秋葉彩葉は、最後から2文字目が彩なので一致しません。
S006の稲葉小春は、葉の後に2文字続くので一致しません。
一致するのは千葉翔と鈴木葉子の2名です。
【選択肢別解説】
1:× 1名ではありません。
千葉翔と鈴木葉子の2名が一致します。
2:○ 千葉翔と鈴木葉子の2名が一致し、計算結果と一致します。
3:× 3名ではありません。
葉山花子や稲葉小春は葉の後に2文字以上続き、“_”の1文字に合いません。
4:× 4名ではありません。
佐藤乙葉や秋葉彩葉のように葉で終わる氏名は、葉の後の1文字がないため一致しません。
【ポイント】
“_”はちょうど1文字に一致し、0文字や2文字以上には一致しません。
“%”が0文字にも一致する点との違いが問われやすい論点です。