在线求助一个不符合逻辑的SQL问题
我有一个表(例如:table),里面有两个字段(例如:a,b),写SQL:select * from table tb where tb.a='' 和select * from table tb where tb.b='' 然后给两个条件全部都赋值,就没有任何问题,两个单独都有结果。但是我用 select * from table tb where tb.a='' or tb.b=''赋给同样的值,就只有符合b字段的条件的值可以查询出来。
然后我又尝试了一下,select * from table tb where tb.a='' 给a赋值同样没有问题,然后我用select * from table tb where tb.a='' or tb.b='xxxxxxx'给b字段赋了一个没有用的值,a字段赋给同样的值,就又查不出结果来了。然后我用select * from table tb where tb.a='' or tb.c='xxxxxxx'换了一个不一样的字段c随便赋值了,然后结果又出来了。就好像字段a和b是冲突一样。
本来是一个很长的SQL,然后提取出来就这个表有问题,然后table的字段a是主键,b没有约束条件,我就想问问,是什么情况会造成这种局面,有哪些情况,该怎么处理啊,谢谢大家了。