I am wondering if in a SQL request using several AND statement, is every AND executed or are they triggered only when the previous AND is ok?
In this example :
SELECT * FROM my_table WHEN a > 5 AND b < 10
In general, SQL engines do implement "short-circuiting", meaning that execution of conditions stops when the final value is known.
However, this is pretty unimportant. First, you cannot depend on the order of evaluation of conditions. So, you don't know which will be evaluated first. Second, the engine may use alternative execution paths (such as using indexes).
And, finally, this short-circuiting typically has a minimal impact on performance. Reading the data is typically much more important. The one exception is when one of the conditions uses very complex functions. In that case, you would use
case or subqueries to ensure the order of execution.