or and sql语句,虽然简单却让很多人都做错的语句

仔细看哦,条件里有两个a,有一个or一个and

select * from kk where a='0' or a='1' and c = '3'

 
数据库里
a  c
0  1
0  2
0  3
1  4
1  5
1  6
这样执行完这语句之后查出来有几条语句?

答案是3条

而我想要的是a为0或1并且c为3的数据显示

应该只有1条的

所以应该这样写

select * from kk where (a='0' or a='1') and c = '3'

 

扩展一点:

select * from kk where (a='0' or a='1') or c = '3'

 

 

的结果是什么呢?

答案是显示全部显示,6条

虽然基本,我就犯了没加括号的错误

这样也可以

select * from kk where a in ('0','1') and c = '3'

 

这条执行得到也是1条结果

 

 

黑色头发  http://heisetoufa.iteye.com

如果发现本文有误,欢迎批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值