题解 | 筛选出学校名中包含特定关键词的用户
筛选出学校名中包含特定关键词的用户
https://www.nowcoder.com/practice/db591191caf2437592abebdbe437ae2b
select id,device_id,university from user_profile where (university like "北京%" or university like "上海%") and (university like "%学院" or university like "%校区") and (university like "%职业%" or university like "%专科%" or university like "%成人%") order by id
只想到了like,可以用rlike和REGEXP
. : 匹配任意单个字符
* : 匹配0个或多个前一个得到的字符
[] : 匹配任意一个[]内的字符,[ab]*可匹配空串、a、b、或者由任意个a和b组成的字符串。
^ : 匹配开头,如^s匹配以s或者S开头的字符串。
$ : 匹配结尾,如s$匹配以s结尾的字符串。
{n} : 匹配前一个字符反复n次。
SELECT id,device_id,university
FROM user_profile
WHERE university regexp '^(北京|上海).*(职业|专科|成人).*(学院|校区)$'