题解 | #查看学校名称中含北京的用户#
查看学校名称中含北京的用户
https://www.nowcoder.com/practice/95d9922b1e2a49de80daa491889969ee
考查了条件查询中的模糊匹配like
知识点
一般形式为: 列名 [not] like '匹配内容'
% 匹配0个或者多个字符
_ 下划线 匹配1个字符
[] 匹配其中任意一个字符
[^] 不匹配其中的任意一个字符
举例
student 表
例 % 查询名字中有牛的同学的信息
select * from student where name like '%牛%';
例 _ 查询名字第二个字是牛的同学的信息
select * from student where name like '_牛%';
查询姓牛且名字是三个字的同学的信息
select * from student where name like '牛__';#这里的_是两个
例 [] 查询姓牛、姓客的同学的信息
select * from student where name like '[牛客]%';
例 [^] 查询不姓牛的同学的信息
select * from student where name like '[^牛]%';
题解
查看所有大学中带有"北京"的用户的信息(device_id,age,university)
select device_id,age,university from user_profile where university like '%北京%';
查询结果
tips:前缀模糊匹配查询不会走索引,比如%name,会引起全表扫描,速度比较慢,但后缀模糊匹配时仍然是会走索引的,mysql会通过提供的字段在索引树中减小查询范围。