假设我有三个表,每个表与另一个表相关,
当我需要从每个表中获取一列时,它是如何组织的
(内连接)??
Select table1.column1,table2.column2,table3.column2 From table1 Inner Join table2 on ..... etc Inner Join table3 on .....
换句话说,我可以把(table2)放在(From)之后吗?
Select table1.column1,table3.column2 From table2 Inner Join table1 on ..... etc Inner Join table3 on .....
解决方法
@H_301_14@ 对于大多数查询,订单无关紧要.> INNER JOIN既是关联的又是可交换的,因此表顺序无关紧要
> sql是声明性的.也就是说,您定义查询的方式不是优化器如何解决问题.当你写它时,它并不是一行一行的.
那说……
> OUTER JOIN既不是关联的也不是可交换的
>对于复杂查询,优化器将“最佳猜测”而不是经历“costs”过多的所有可能性.表顺序可能在这里很重要