El join
sucede antes del where
, sin embargo...
El where
La cláusula es un filtro para todas las filas devueltas por la unión, pero el optimizador lo reconocerá si existe un índice en A.id
, se usará para recuperar filas de A
esa coincidencia, luego ocurrirá la unión, luego, teóricamente, la cláusula where filtrará los resultados, pero nuevamente el optimizador reconocerá que la condición ya se cumplirá, por lo que la omitirá como filtro.
Dicho todo esto, el optimizador siempre devolverá el mismo resultado que devolvería sin el optimizador.