请编写一条 SQL 查询语句,从用户表(假设表名为 users)中检索出所有用户名(username 字段)中包含字符“张”的用户记录。要求输出完整的用户信息。
考察说明
考查 SQL 中 LIKE 模糊查询的基本用法及通配符的掌握。
回答思路
- 【回答框架 1】使用 SELECT 语句从用户表查询,字段列表可写 * 或明确列出需要的字段。
- 【回答框架 2】使用 WHERE 子句结合 LIKE 操作符,模式为 '%张%',其中 % 表示任意字符序列(包括零个字符),因此能匹配用户名中任意位置包含“张”的记录。
- 【回答框架 3】若需优化,可在用户名长度较短且数据量大时考虑使用全文索引或 LIKE 的优化手段,但一般情况下直接使用 LIKE 即可。
- 【关键点 1】SQL 语句为:SELECT * FROM users WHERE username LIKE '%张%';
- 【关键点 2】LIKE 中百分号 % 是通配符,表示任意长度字符串。
- 【关键点 3】注意字符集和排序规则,中文匹配通常不会影响结果。
- 【易错点 1】不要把 % 位置写错,如 '%张' 或 '张%' 只能匹配开头或结尾包含的字。
- 【易错点 2】不要忽略字段名和表名的大小写,取决于数据库配置。
- 【易错点 3】若用户名包含通配符 % 或 _,需使用 ESCAPE 转义,否则会被误当成通配符。