Le join
se produit avant le where
, cependant...
Le where
La clause est un filtre pour toutes les lignes renvoyées par la jointure, mais l'optimiseur le reconnaîtra si un index existe sur A.id
, il sera utilisé pour récupérer les lignes de A
qui correspondent, alors la jointure se produira, puis théoriquement la clause where filtrera les résultats, mais encore une fois l'optimiseur reconnaîtra que la condition sera déjà remplie donc il l'ignorera en tant que filtre.
Cela dit, l'optimiseur renverra toujours le même résultat que celui qui serait renvoyé sans l'optimiseur.