可能重复:
内部联接&完全加入
这两者之间有什么区别,尤其是在SQLServer2008-中
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,就更容易做到。此外,一致性还可以让其他人更好地了解您的意图。
第一种是编写内部联接的旧方法,第二种是在join
命令添加到SQL之后编写的方法。
只要两种方式都被接受,结果就没有任何区别。两个查询的执行计划将完全相同。
编写联接的旧方法正在逐步淘汰,并且在SQL Server的后续版本中,在某些模式下可能会被禁止。它不在SQL Server 2008中。