like多个值_MySQL ---- 模糊查询 like和通配符 (七)

like操作符:对于未知的进行搜索,结合通配符使用

通配符(wildcard): 用来匹配值得一部分的特殊字符

搜索模式(search pattern):由字面值、统配符或两者组合的搜索模式

注意:

  1、通配符本身是SQL 的WHERE 子句有特殊含义的字符,常见的有百分号(%)通配符 和下划线(_)通配符。

  2、在使用通配符时必须使用like 操作符,like后跟的搜索模式利用通配符进行匹配

  3、操作符在作为谓词(predicat)时,不是操作符,从技术上讲Like 是谓词不是操作符

One、百分号(%)通配符: 表示任何字符出现任意次数,就是可以代表多个单词

%放在最后时

-- 检索商品名是 jet开头的商品 

7c786ccfa9a10596872ffb445c191969.png

放在两端时,匹配位置包含 ton 文本的值,不论之前或之后出现 什么字符

-- 检索商品名中 有ton 的商品 

80efa5cc253e935fd2a1aceb0c21abcd.png

放在中间

-- 检索商品名以2 开头 l  结尾的商品 

f73fef899614c39dc3aa6a425fd5691c.png

注意:

  1、除了一个或多个字符外,%还能匹配0个字符

  2、尾空格可能会干扰通配符的匹配,因为空格也属于字符,空白字符

  3、%通配符匹配不了NULL

Two、下划线(_)通配符:只匹配单个字符

-- 商品名首字母忘了,但是知道后面的 

ed8f160638a72f7f6bb88e9c7bf515d4.png

百分号(%)是可以匹配0个到多个字符的,下划线只能匹配一个

ff9eefa796f27a83b3b0aa90c1aed9b4.png

注意: 通配符的搜索处理比其他的搜索所花的时间更长,所以

  1、不要过度使用通配符,如果通过其他操作符可以查到,尽量不用通配符

  2、使用的话,也要注意不要把通配符放到开始处,这样搜索是最慢的

  3、注意放置的位置,放错位置的话,返回的可能不是你想要的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`LIKE` 和 `IN` 都是 MySQL 的条件筛选语句,但是它们的使用场景和语法略有不同。 `LIKE` 用于匹配字符串,常用于模糊查询。语法为: ```SQL SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; ``` 其 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`pattern` 是需要匹配的字符串,可以使用 `%` 作为通配符。 例如,要查询 `employees` 表名字包含 `e` 的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE name LIKE '%e%'; ``` `IN` 用于匹配多个,常用于多条件查询。语法为: ```SQL SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); ``` 其 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`value1, value2, ...` 是需要匹配的。 例如,要查询 `employees` 表在 `New York` 和 `Los Angeles` 工作的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE city IN ('New York', 'Los Angeles'); ``` 当需要同时使用 `LIKE` 和 `IN` 时,可以使用以下 SQL 语句: ```SQL SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern AND column_name IN (value1, value2, ...); ``` 其 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`pattern` 是需要匹配的字符串,`value1, value2, ...` 是需要匹配的。 例如,要查询 `employees` 表在 `New York` 和 `Los Angeles` 工作,并且名字包含 `e` 的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE city IN ('New York', 'Los Angeles') AND name LIKE '%e%'; ``` 希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值