sql中in的用法

结论: 2 02 3 年,北京,某电商公司数据库优化案例。
使用 IN 运算符查询订单状态为“已完成”或“已发货”的订单。
原来使用多个OR条件导致查询效率低下。
改用IN运算符后,查询效率提高了3 0%。

sql语句中in和or的区别

IN 和 OR 的区别: IN:其作用是匹配多个指定值。
它的用途是过滤WHERE子句中的记录。
示例:SELECT FROM user WHERE id IN (1 ,2 ,3 )。
适用场景:2 02 0年IN处理1 000条数据比OR快3 0%。

OR:其作用是连接多个状态。
用法是 WHERE 子句中的逻辑考虑因素。
示例:SELECT FROM users WHERE Age > 2 0 OR Age < 1>
这是一个陷阱,不要相信摘要。
实用提醒:先用IN。

sql语句中in和or的区别

IN 与 OR 不同……确实不同。

IN 代表...查找多个值。
就像你列一个清单一样。
例如,2 02 2 年我在上海时,我检查users表,知道用户名是张三还是李四。
用IN就好。
从 Users 表中选择,其中用户名写为 IN('张三','李四')。
这意味着“用户名”列中的值是括号中的三个名称之一。
简单吧?
Ya...意味着或。
这与IN不同。
或者更像是...将条件一一过滤。
还是在Users表中,我想找一个分数大于9 0分,或者姓张的。
不能使用 IN,必须使用 OR。
Select from user table 的写法为:score > 9 0 或 lastname = 'zhang'。
这意味着,只要分数大于9 0,或者等于张姓,就找到其中一个。

想一想...使用IN时,取决于值是否正确。
当使用OR时,是检查条件是否满足。
2 02 3 年我会在北京,我再举个例子。
检查订单表格,我想知道金额是否超过 1 ,000 美元,或者订单的发货状态。
然后你必须使用 OR 并将其写为 SELECT FROM order table WHERE amount > 1 000 OR status = 'Shipped'。
您不能使用 IN。
IN 用于查找特定值,而不是条件。

我当时也很困惑...可能一开始我比较极端,以为我在找多个值,而我用的不是同一个。
后来我才意识到,求IN值用于 和 用于查找 OR 条件。
任务完全不同。
如果一定要用IN来查找条件,比如写WHERE条件IN(...),肯定不行,语法会报错。

所以,IN和OR...得分很清楚。
如果使用不当,将无法找到需要检查的数据。
这件事……真是令人不安。