【发布时间】:2016-05-18 00:31:54
【问题描述】:
我想使用 INNER JOIN 语句连接一些表。其中一些具有多对多关系,一些是一对多,一些是一对一。我想知道 INNER JOIN-s 语句的顺序是否重要,它是否与 relashionship 的类型(一对一,一对多等)有关?那么下面这三个代码输出的结果是一样的吗?
SELECT ....
FROM table1
INNER JOIN (table2 INNER JOIN table3 ON table2.col=table3.col)
ON table1.col=table2.col
SELECT ....
FROM table1
INNER JOIN (table2 INNER JOIN table3 ON table2.col=table3.col)
ON table1.col=table3.col
SELECT ....
FROM table2
INNER JOIN (table1 INNER JOIN table3 ON table1.col=table3.col)
ON table3.col=table2.col
SELECT ...
FROM table1,table2
WHERE (table1.col=table2.col)
【问题讨论】:
-
我不这么认为。但是对于每个 SQL sn-p 查看执行计划,看看是否可以发现其中的任何差异
-
"下面这三个代码输出的结果一样吗?"你的意思是查询计划?因为对于实际的结果,你可以自己测试一下。
标签: sql-server join