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是或运算,两个或多个条件满足其中一个即为真(显示一条数据);

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐