問93
頻出度★★☆
関係データベースで管理している“従業員”表から,氏名が‘%葉_’に該当する従業員を抽出した。抽出された従業員は何名か。ここで,“_”は任意の1文字を表し,“%”は0文字以上の任意の文字列を表すものとする。 従業員
| 従業員番号 | 氏名 |
|---|---|
| S001 | 千葉翔 |
| S002 | 葉山花子 |
| S003 | 鈴木葉子 |
| S004 | 佐藤乙葉 |
| S005 | 秋葉彩葉 |
| S006 | 稲葉小春 |
这道题的解析和你的作答记录。
関係データベースで管理している“従業員”表から,氏名が‘%葉_’に該当する従業員を抽出した。抽出された従業員は何名か。ここで,“_”は任意の1文字を表し,“%”は0文字以上の任意の文字列を表すものとする。 従業員
| 従業員番号 | 氏名 |
|---|---|
| S001 | 千葉翔 |
| S002 | 葉山花子 |
| S003 | 鈴木葉子 |
| S004 | 佐藤乙葉 |
| S005 | 秋葉彩葉 |
| S006 | 稲葉小春 |
1名属于漏数。符合条件的不只是千葉翔,鈴木葉子也符合,合计为2名。这是把『葉位于倒数第二个字符』的姓名只挑出1条的错误。
正解 模式「%葉_」根据通配符的定义,可解读为『%(0个或以上的任意字符串)+葉+_(任意1个字符)』。也就是说,抽取条件是「倒数第二个字符为葉、其后正好只跟随1个字符的姓名」。逐行套用时,只有千葉翔(千/葉/翔:葉后面是翔这1个字符)和鈴木葉子(鈴木/葉/子:葉后面是子这1个字符)这2条符合该形式。因此被抽取的员工为2名,正确答案是イ。
3名属于多数。佐藤乙葉中葉是最后一个字符,其后没有1个字符(_),因此不匹配。若错误地把以葉结尾的姓名也算进去,数量就会过多。
4名属于多数。葉山花子、秋葉彩葉、稲葉小春这几个姓名中,葉的后面都跟随2个或以上字符,不满足_(正好1个字符)的条件。这是把仅仅含有葉的姓名也数进去的错误。