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
  • 31,810
  • 31
  • 111
  • 133
Kishan_KP
  • 4,488
  • 6
  • 27
  • 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,560
  • 3
  • 48
  • 51
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
  • 305,947
  • 44
  • 307
  • 483
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
  • 31,810
  • 31
  • 111
  • 133