Como muchos han dicho: el orden no hace una diferencia en el resultado o el rendimiento.
Lo que quiero señalar es que LINQ to SQL solo permite el primer caso!
Por ejemplo, el ejemplo siguiente funciona bien, ...
var result = from a in db.a
join b in db.b on a.StatusID equals b.ID
select new { Name = a.Name, Status = b.Status }
...Si bien esto arrojará errores en Visual Studio:
var result = from a in db.a
join b in db.b on b.ID equals a.StatusID
select new { Name = a.Name, Status = b.Status }
que arroja estos errores de compilación:
- CS1937: El 'nombre' nombre no está en el ámbito en el lado izquierdo de la ' es igual a '. Considere intercambiar las expresiones en cualquier lado de 'iguales'.
- CS1938: El nombre 'nombre' no está en el alcance en el lado derecho de 'igual'. Considere intercambiar las expresiones en cualquier lado de 'iguales'.
Aunque no es relevante en la codificación SQL estándar, este podría ser un punto a considerar, al acostumbrarse a cualquiera de esos.
¡Excelente respuesta! +1 –
Con respecto a "Muchachos de PostgreSQL, perdón" - "Sugerencias del Optimizador" en el TODO oficial http://wiki.postgresql.org/wiki/Todo#Features_We_Do_Not_Want. –
@Milen: Lo siento nuevamente :) – Quassnoi