Il join
accade prima del where
, invece...
Il where
La clausola è un filtro per tutte le righe restituite dal join, ma l'ottimizzatore riconoscerà che se esiste un indice su A.id
, verrà utilizzato per recuperare righe da A
quella corrispondenza, quindi avverrà il join, quindi teoricamente la clausola where filtrerà i risultati, ma ancora una volta l'ottimizzatore riconoscerà che la condizione sarà già soddisfatta, quindi la salterà come filtro.
Detto questo, l'ottimizzatore restituirà sempre lo stesso risultato che verrebbe restituito senza l'ottimizzatore.