sql语句中的or用法(及与and和in区别)

本文详细解析了SQL中or与in关键字的区别及其在不同场景下的应用。通过对比,阐述了or和in在执行效率上的差异,以及and运算符的正确使用方式。适合SQL初学者和开发者阅读。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值