In SQL (MSSQL, Oracle, ecc, a prescindere), quando si uniscono le tabelle, qual è il guadagno di aggiungere un filtro per la dichiarazione JOIN invece di averlo nella clausola WHERE?Filtering utilizzando la JOIN al posto di dove
cioè
SELECT * FROM X INNER JOIN Y ON X.A = Y.A WHERE X.B = 'SOMETHING'
contro
SELECT * FROM X INNER JOIN Y ON X.A = Y.A AND X.B = 'SOMETHING'
mi rendo conto che questo non funziona in tutti i casi, ma ho notato che in alcuni casi sembra che vi sia un guadagno di prestazioni mettendo il criteri di filtro nella dichiarazione JOIN. Tuttavia, poiché fa parte dell'istruzione JOIN, può anche causare un comportamento un po 'strano.
Pensieri?
Duplicato: http://stackoverflow.com/questions/1018952/condition-within-join-or-where –