查询执行中的ON和JOIN顺序

时间:2015-10-03 12:05:34

标签: sql-server select logical-operators

关于SELECT查询的执行顺序,请参阅hereON之前提到了JOIN

FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE or WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP

我倾向于认为此ONON条款,是JOIN的一部分。

  • 如果为false,那么ON是什么?

  • 如果确实如此,那就有点混乱,因为我认为在执行JOIN时,SQL Server会在使用CROSS JOIN进行过滤之前执行ON。这可能不是严格正确的,因为SQL服务器有一些机制来优化这个过程,关于选择一个较小的表作为内部表来循环外部表,正如我记得的ON条件正确。那么在这种情况下,执行顺序中JOIN之前不会ON吗?

你能否对我提到的内容有所了解?

1 个答案:

答案 0 :(得分:0)

  1. 是的。 ON用于加入

  2. 这是逻辑顺序。物理顺序可能不同。您的链接也提到了这一点。

  3. 请注意,语句的实际物理执行是

    由查询处理器确定,订单可能与此列表不同。

相关问题