sql是声明性的,也就是说,JOIN顺序无关紧要.
但是,实际上,如果它是一个复杂的查询,当优化器没有探索所有选项(理论上可能需要几个月)时,它可以在实践中.
另一个选择是,如果你重新排序并得到不同的结果,它是一个非常不同的查询,但这通常是使用OUTER JOINs.
它也可以是指定ON子句的方式如果重新排序FROM子句,它必须改变.除非您使用旧的(和坏的)JOIN-in-the-WHERE子句.
最后,如果这是一个问题,您可以使用括号来更改评估顺序,以使您的意图明确,比如,首先过滤大表以生成派生表.