A
join
acontece antes do where
, Contudo... O
where
cláusula é um filtro para todas as linhas retornadas pela junção, mas o otimizador reconhecerá isso se existir um índice em A.id
, ele será usado para recuperar linhas de A
essa correspondência, então a junção acontecerá, então teoricamente a cláusula where filtrará os resultados, mas novamente o otimizador reconhecerá que a condição já foi atendida e a ignorará como um filtro. Tudo isso dito, o otimizador sempre retornará o mesmo resultado que seria retornado sem o otimizador.