SQL 网站场景面试题, 编写 SQL,查询用户表中用户名包含 张 字的所有用户
SQL 网站场景面试题, 编写 SQL,查询用户表中用户名包含 张 字的所有用户
QA
Step 1
Q:: 编写 SQL,查询用户表中用户名包含 '张'
字的所有用户
A:: SELECT * FROM users WHERE username LIKE '%张%';
Step 2
Q:: 编写 SQL,查询用户表中所有用户名以 '张'
开头的用户
A:: SELECT * FROM users WHERE username LIKE '张%';
Step 3
Q:: 编写 SQL,查询用户表中所有用户名以 '张'
结尾的用户
A:: SELECT * FROM users WHERE username LIKE '%张';
Step 4
Q:: 编写 SQL,统计用户表中用户名包含 '张'
字的用户数量
A:: SELECT COUNT(*) FROM users WHERE username LIKE '%张%';
Step 5
Q:: 编写 SQL,查询用户表中用户名包含 '张' 字并且年龄大于30
岁的用户
A:: SELECT * FROM users WHERE username LIKE '%张%' AND age > 30;
Step 6
Q:: 编写 SQL,更新用户表中所有用户名包含 '张' 字的用户,将其年龄增加5
岁
A:: UPDATE users SET age = age + 5 WHERE username LIKE '%张%';
用途
面试这个内容是为了考察候选人的SQL基础以及对字符串匹配的掌握程度。在实际生产环境中,可能会需要根据用户的部分信息(如用户名中的关键字)来进行查询、统计、更新等操作,例如在用户管理系统中查询特定姓氏的用户,或者在进行数据分析时筛选特定特征的用户。\n相关问题
SQL 基础查询面试题, 编写 SQL,查询用户表中用户名包含 张 字的所有用户
QA
Step 1
Q:: 编写 SQL,查询用户表中用户名包含 '张'
字的所有用户
A:: SELECT * FROM 用户表 WHERE 用户名 LIKE '%张%';
Step 2
Q:: 如何优化上面的查询以提高性能?
A:: 如果用户名列有索引,可以使用 B-Tree 索引来优化查询。然而,由于 LIKE '%张%'
需要扫描整个列,无法利用前缀索引,可能需要结合全文索引来提高查询效率。
Step 3
Q:: 如何查询用户名包含多个指定字符的用户?例如,查询用户名同时包含 '张' 和 '王'
的用户。
A:: SELECT * FROM 用户表 WHERE 用户名 LIKE '%张%' AND 用户名 LIKE '%王%';
Step 4
Q:: 如何查询用户名以特定字符开头的用户?例如,查询用户名以 '李'
开头的用户。
A:: SELECT * FROM 用户表 WHERE 用户名 LIKE '李%';
Step 5
Q:: 如何统计用户表中用户名包含 '张'
字的用户总数?
A:: SELECT COUNT(*) FROM 用户表 WHERE 用户名 LIKE '%张%';