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

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)
posted @ 2010-12-20 16:37  xwdreamer  阅读(1494)  评论(0编辑  收藏  举报