8

I have a written a mysql select query to fetch schedule details based on origin states,origin city,destination state and destination city. In my query i have used AND and OR operator.

Here is my query,

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

But I need to know the priority of AND and OR operator in the above query, i mean to say will it do something like this (X AND Y) OR (M AND Q) internally?

Himanshu Jansari
  • 30,115
  • 28
  • 106
  • 129
Kishan_KP
  • 4,458
  • 6
  • 26
  • 46

3 Answers3

8

Yes, AND has higher precedence than OR. x and y are bound together, m and q are bound together, then the resulting expressions are ORed.

Sam Dufel
  • 17,084
  • 3
  • 46
  • 49
1

AND has a higher priority than OR in every programming language I have ever seen, and I've seen several dozen at close quarters, and implemented a few myself. This question was basically settled in 1960 with the Algol-60 report, if not already in Fortran (1957).

[There was one exception but it was a mis-implemented language with no operator precedence at all. I fixed that.]

user207421
  • 298,294
  • 41
  • 291
  • 462
1

Yes it will do something like (X AND Y) OR (M AND Q). AND operator's priority is higher than OR.

For more see MySQL: Operator Precedence

Himanshu Jansari
  • 30,115
  • 28
  • 106
  • 129