更改ON条件顺序会导致不同的查询结果?

时间:2015-01-06 23:37:11

标签: sql sql-server sql-server-2008

当我使用左连接或左外连接时,如果我将最后一行中的顺序更改为下一行,那么会有什么不同吗?当我们改变秩序时,人们会误以为它可能具有不同的价值,我认为他们自己对此并不确定。

或者,如果我们更改顺序,在右外,右,左,左外连接等情况下,查询结果会有所不同?

1 个答案:

答案 0 :(得分:2)

在使用=时,将标准置于哪一方面没有区别。

表格顺序在LEFT JOINRIGHT JOIN的情况下很重要,但条件顺序却不重要。

例如:

SELECT *
FROM Table1 a
LEFT JOIN Table2 b
 ON a.ID = b.ID

相当于:

SELECT *
FROM Table2 a
RIGHT JOIN Table1 b
 ON a.ID = b.ID

但不等同于:

SELECT *
FROM Table2 a
LEFT JOIN Table1 b
 ON a.ID = b.ID

演示:SQL Fiddle