sql关系型运算符优先级高到低为:not >and> or

来源:互联网 发布:手机五毛钱特效软件 编辑:程序博客网 时间:2024/05/29 18:36

 

select   *   from   table   where   Condition1   and   Condition2   or   Condition3

如果我们要搜索表table中满足Condition1且满足Condition2和Conditon3中其中一个的时候,我们使用上述语句是错误的,因为关系型运算符优先级高低为:not>and>or,因此上面执行顺序为:

select   *   from   table   where   (Condition1   and   Condition2)   or   Condition3

也就是是说这条语句会去查询那些同时满足Condition1和Condition2或者是满足Condition3的元组。

如果我们想实现我们的初衷,这里我们可以通过加括号的方式实现。 实现语句为:

select   *   from   table   where   Condition1   and   (Condition2   or   Condition3)
0 0