日期:2014-05-18  浏览次数:20389 次

问个SQL问题 , 请高手帮忙看下。。。。。
没有实际意义的语句
语句1
Select * From Table1 Where  
Field1='1' 
or Field2 in (Select Field1 From testTable)
and field1 is null

问题1.请问它运行时是如合结合的 为什么这样结合?
问题2.如果按照运算符的优先级来说结合律 对于这条里的优先级从高到低是 = , and ,or与in 并列
  Field1='1' 它们结合没有问题 
  or 与 in 是并列的 为什么Field2 in (Select Field1 From testTable)
  会自成一段落而不是Field1='1' or Field2 这样结合?(按优先级结合律来说好像是
  Field2 会往左结合 而 (Select Field1 From testTable)会往右结合)

语句2
Select * From Table1 Where  
Field1='1' and field1 is null
or Field2 in (Select Field1 From testTable)

问题3.语句2与语句1产生不同的结果的原因?


------解决方案--------------------
UP