SQL语句like怎么使用多个like条件...

结论:直接按照步骤新建表、插入数据、查询记录、编写SQL,不走任何弯路。
具体步骤: 1 .新建测试表。
2 . 插入测试数据。
3 .查看表记录。
4 . 编写SQL查询“Technology”和“IT”记录。
5 .修改SQL的写法。
操作完成。

sql中多个like怎么写

嘿嘿,这个SQL LIKE条件用多了很容易混淆。
2 02 2 年我在一家叫深圳的公司做一个项目,那个时候我就遇到了这样的事情。

你只是想匹配任何条件,对吧?只需使用“或”即可。
例如,如果您正在检查 Customers 表,如果您的名字包含 John 或 Mary,则只需编写: SQL 选择客户 WHERE LIKE name '%John%' OR LIKE name '%Mary%'
使用起来非常简单。
无论使用多少个LIKE条件,OR都可以随意连接。
通配符 % 匹配任何内容,_ 匹配单个字符。
但请注意,LIKE 是否区分大小写取决于您使用的数据库。
例如,MySQL 默认情况下不区分它,这与 PostgreSQL 不同。

如果改成IN,直接输入'%John%'是不行的。
IN 是对应列表中的精确值,不能这样使用。
该怎么办?您应该始终使用 OR 和 LIKE,或使用正则表达式。
例如,在 MySQL 中您可以使用 REGEXP: SQL 从表名中选择 WHERE 列名称 REGEXP '约翰 | 玛丽'
此 |表示或,比使用 OR 连接它们更简单。

还有更复杂的事情。
如果需要动态从其他表获取条件,例如有一个keywords_table存储关键字,则可以使用子查询。
假设 keywords_table 有 id 和 keywords 列: SQL 选择产品 WHERE Product_name LIKE CONCAT('%', (SELECT password FROM keywords_table WHERE id = 1 ), '%')
此子查询必须返回准确的值。
如果你想要模糊匹配,你应该使用 CONCAT 来合并 % 通配符,如下所示。

最好的办法是使用正则表达式。
就像 MySQL 的 REGEXP 和 PostgreSQL 的 ~ 一样,这个东西可以一次匹配多个模式。
例如,如果您查看日志,如果消息包含错误、失败或警告,您可以在一行中找到它: SQL 从日志中选择 WHERE REGEXP 消息“错误|失败|警告”
但使用LIKE时,尤其是多个LIKE'%...%'时,你最害怕的是什么?最可怕的是全表扫描! 2 02 2 年遇到一个大数据表,有一百万条记录,光是这个查询就花了很长时间。
后来我们转向全文索引,比如 MySQL 的 FULLTEXT,或者直接使用专门的搜索引擎,比如 Elasticsearch,这使得速度更快。

此外,小丑的位置也很重要。
LIKE 'string%' 表示字符串应该在前面,LIKE '%string' 应该是字符串在末尾,LIKE '%string%' 表示字符串应该在中间。
如果要匹配 % 或 _ 本身,则必须使用转义字符。
例如,LIKE '%%%' ESCAPE '',此转义字符的性质取决于您的数据库配置。

因此,总而言之,对于简单的多条件匹配,请使用 OR 后跟 LIKE。
如果条件是动态的,请使用子查询或临时表。
如果模型特别复杂,正则表达式或全文索引可能更合适。
为了提高性能,不要总是使用前导通配符,例如 %string,尝试使用后缀匹配,或者为字段创建索引。