LIKE语句可以使用两个通配符“%”和“_”:
- 百分号(%):可以匹配任意长度(0至多个字符)的字符;
- 下划线(_):可以匹配单个字符;
下面用user_info表举例:
例1:查询名字中带“三”的用户:
select * from user_info t where t.name like '%三%'
例2:查询姓张的用户:
select * from user_info t where t.name like '张%'
例3:查询姓张某:
select * from user_info t where t.name like '张_'
例4:查询名字中不带“三”的用户:
select * from user_info t where t.name not like '%三%'
总结:有两个容易出错的地方:
- 百分号(%)可以匹配0个字符,一个下划线(_)只能匹配一个字符;
- not like不能查询空,例4中,名字中不带“三”的用户其实有两个:李四和一个没有名字的用户,想要全部查出来应该加个or name is null;