1.使用场景,例如,我们需要获取一条数据a等于1或a等于2的值(同一个字段等于多个值)
select * from test where a = 1 or a = 2;
有些同学可能会问,为什么不使用in呢
如:
select * from where a in (1,2);
当然这种方法也可以实现,但要考虑到自己的实际开发中的使用场景;而且在使用过程中,or和in都在前提没有索引的情况下,in后面条件增多,执行的效率不会有太大的下降;而or确恰恰相反;
还有同学使用and进行操作,如:select * from test where a = 1 and a = 2;这样操作肯定不行,后面的一个值会把前面的值给覆盖掉,最后执行的是select * from test where a = 2;
总结:or 是或者 两个条件满足一个就可以;
in 用在于包含 比如select * from 表 in (一段语句或者几个值 )
2.这里再简单说一下or与and区别
and是与运算;两个或多个条件同时满足,才为真(显示一条数据)
or是或运算,两个或多个条件满足其中一个即为真(显示一条数据);
本文详细解析了SQL中or与in关键字的区别及其在不同场景下的应用。通过对比,阐述了or和in在执行效率上的差异,以及and运算符的正确使用方式。适合SQL初学者和开发者阅读。
&spm=1001.2101.3001.5002&articleId=105962244&d=1&t=3&u=de0cf22c6b424911a3d43aa428e0d6fc)
1699

被折叠的 条评论
为什么被折叠?



