8

我写了一个mysql select query根据始发国、始发城市、目的地国家和目的地城市获取日程安排的详细信息。在我的查询中,我使用了ANDandOR运算符。

这是我的查询,

SELECT * FROM TruckLoadSchedule ts 
WHERE ts.originState IN (states) AND ts.originCity IN (cities) 
   OR ts.destState IN (states) AND ts.destCity IN (cities);

但是我需要知道上面查询中 AND 和 OR 运算符的优先级,我的意思是说它会在(X AND Y) OR (M AND Q)内部做这样的事情吗?

4

3 回答 3

8

是的,AND 的优先级高于 OR。x 和 y 绑定在一起,m 和 q 绑定在一起,然后结果表达式是 ORed。

于 2013-04-27T08:19:33.347 回答
1

AND 在我见过的每一种编程语言中都比 OR 具有更高的优先级,而且我已经近距离看到了几十个,并且我自己实现了一些。这个问题基本上在 1960 年的 Algol-60 报告中得到了解决,如果 Fortran (1957) 中还没有的话。

[有一个例外,但它是一种错误实现的语言,根本没有运算符优先级。我修好了。]

于 2013-04-27T08:22:54.920 回答
1

是的,它会做类似的事情(X AND Y) OR (M AND Q)AND运算符的优先级高于OR

有关更多信息,请参阅MySQL:运算符优先级

于 2013-04-27T08:24:42.897 回答