有一次做项目,没有搞清楚精准查询和模糊查询的区别,写的代码不能用,存在bug,后来特地去学习了这两个查询语句
个人理解:精准查询就是查询条件和符合查询条件的一字不差,比如,我要搜索姓名为ada这个关键词,查询的结果就只有两种,1是没有叫ada的,另一种就是有叫ada的;模糊查询就是查询结果符合查询条件的,就都会被显示,比如我搜索a,结果就会出现与a相关的信息。
Sql 查询语句是
SELECT * FROM year ORDER BY id DESC
精准查询的语句
SELECT * FROM year WHERE id = 2
(查询id为2的信息)
模糊查询有
a:
SELECT * FROM `order_form` WHERE amount LIKE '%2%' ORDER BY `amount` ASC
(找到字段为amount这一列的所有带有2的值,然后升序排)
b: _是任意单个字符的意思
SELECT * FROM `order_form` WHERE amount LIKE '%_2%' ORDER BY `amount` ASC
(2在右边)
SELECT * FROM `order_form` WHERE amount LIKE '%_2_%' ORDER BY `amount` ASC
(2在中间)
SELECT * FROM `order_form` WHERE amount LIKE '%2_%' ORDER BY `amount` ASC
(2在左边)
C: [ ] 表示括号内所列字符中的一个
SELECT * FROM `order_form` WHERE amount LIKE '%[123]2%' ORDER BY `amount` ASC
(匹配12 22 32 开头的数字)
d: [^ ] 表示除了括号内所列字符中之外
SELECT * FROM `order_form` WHERE amount LIKE '%[^123]2%' ORDER BY `amount` ASC
和c相反
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/19344.html
微信打赏
支付宝打赏
感谢您对作者ada的打赏,我们会更加努力! 如果您想成为作者,请点我