用或不用括号进行求和和比较

时间:2014-02-02 10:42:49

标签: mysql sql

我有3列类型double

我需要获得结果,其中3列的总和大于x。

也许是一个愚蠢的问题,以下哪种方法更适合这个

1)通常总结:WHERE col1 + col2 + col3 > x

2)或用括号括起来:WHERE (col1 + col2 + col3) > x

或者两个menthods之间没有什么区别?

1 个答案:

答案 0 :(得分:1)

您的两个查询都没有问题。通过运算符层次结构,最好使用括号方法。

MySQL Operator Precedence documentation

  

运算符优先级显示在以下列表中,从最高位置开始   优先级最低。在一条线上一起显示的运算符   具有相同的优先权。

INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
= (assignment), := 
Its better to handle the summarized values among three columns.

WHERE (col1 + col2 + col3) > x