Cláusula WHERE vs ON cuando se utiliza JOIN
Suponiendo que tengo el siguiente código T-SQL:
SELECT * FROM Foo f
INNER JOIN Bar b ON b.BarId = f.BarId;
WHERE b.IsApproved = 1;
El siguiente también devuelve el mismo conjunto de filas:
SELECT * FROM Foo f
INNER JOIN Bar b ON (b.IsApproved = 1) AND (b.BarId = f.BarId);
Puede que esta no sea la mejor muestra de casos aquí, pero ¿hay alguna diferencia de rendimiento entre estos dos?