sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2005 - Orden de uniones internas

SQL es declarativo, es decir, el orden JOIN no debería importar.

Sin embargo, en la práctica puede, por ejemplo, si se trata de una consulta compleja cuando el optimizador no explora todas las opciones (lo que, en teoría, podría llevar meses).

Otra opción es que es una consulta muy diferente si reordenas y obtienes resultados diferentes, pero esto suele ser con OUTER JOIN.

Y también podría ser la forma en que se especifica la cláusula ON. Tiene que cambiar si reordena la cláusula FROM. A menos que esté utilizando la antigua (y mala) cláusula JOIN-in-the-WHERE.

Finalmente, si le preocupa, puede usar paréntesis para cambiar el orden de evaluación y dejar claras sus intenciones, por ejemplo, filtrar en una tabla grande primero para generar una tabla derivada.