heisetoufa 发表于 2013-1-27 05:13:34

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
如果发现本文有误,欢迎批评指正
页: [1]
查看完整版本: or and sql语句,虽然简单却让很多人都做错的语句