可能重复:
内连接和全连接的区别
这两者之间有什么区别,特别是在 SQL Server 2008 中?
select * from table1 t1, table2 t2 where t1.col1 = t2.col1
和
select * from table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col1
可能重复:
内连接和全连接的区别
这两者之间有什么区别,特别是在 SQL Server 2008 中?
select * from table1 t1, table2 t2 where t1.col1 = t2.col1
和
select * from table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col1
它们是相同的。
但是,如果您想要对不同的表执行INNER JOIN
然后再执行OUTER JOIN
,考虑一下您的语法会是什么样子。
遵循INNER JOIN
的语法更加一致,这样以后如果需要修改SQL,就更容易做到。此外,一致性可以让其他人更好地了解您的意图。
第一种是旧的编写内连接的方式,第二种是在 SQL 中添加 join
命令后编写的方式。
只要两种方式都被接受,结果就没有任何区别。这两个查询的执行计划将是相同的。
旧的连接方式正在逐步淘汰,并且在 SQL Server 的后续版本中可能会在某些模式下被禁止使用。它不适用于 SQL Server 2008。