Possible en double:
Is the SQL WHERE clause short-circuit evaluated?Une instruction AND dans SQL est-elle toujours exécutée?
Si nous
SELECT * FROM Business WHERE Latitude < 9 AND Latitude > 10
par exemple, sera Latitude > 10
jamais appelé si Latitude est 8
par exemple?
Qu'en est-il de mysql?
Qu'en est-il des données de base?
Est-ce que cela dépend de l'implémentation SQL ou existe-t-il une norme définie dans laquelle la clause where si l'une des instructions AND
est fausse que le reste ne sera pas exécutée?
J'ai demandé ceci pour savoir si je peux économiser de l'énergie de calcul. Dites l'expression après la première ET est coûteux à calculer comme la distance de calcul.
Pourquoi serait-il pertinent? –
Les deux côtés de l'opérateur 'and' sont évalués. La requête dans votre exemple ne retournera jamais aucune ligne, car une valeur ne peut pas être inférieure à neuf et plus de dix en même temps. (Je viens de vérifier cela dans MySQL pour être sûr.) – Guffa