Where condition execution sequence in MySQL I am using MySQL 5.0.88. I have a query like:

select DISTINCT party.­id 
FROM party­
  LEFT join party_­identifier AS pi 
  ON pi.­party_­id = party.­id­
WHERE ­(pi.­source_­note=? 
       AND (first_­name LIKE ? OR last_­name LIKE ? OR pi.­identifier LIKE ?))­ 
  AND party.­type = ? 
  AND party.­record_­status_­id = ? 


If the Pi.source_note = ? evaluates to false, will the rest of the conditions will evaluated or not?

What is the execution sequence for the where conditions? (In terms specifically of SQL, not programming languages.)
There is no order, subject to standard operator precedence.

SQL is a declarative language. You tell the engine "what to get", "how to do it". So the engine does not evaluate left to right in code order, nor does it generally short circuit.

For example:


the engine attempts to match the predicates against a suitable index. The index key columns order may not match the WHERE clause order so it will ignore the WHERE order.
it may decide that the 2nd condition is cheaper to evaluate in order to limit rows before applying the 1st condition