如MSDN中所述,
http://msdn.microsoft.com/en-us/library/dd172122(v=vs.100).aspx
Sybase连接语法被视为已弃用
即。
SELECT [T2].[c3], [T1].[c3]
FROM [dbo].[T2] T2, [dbo].[T1] T1
WHERE [T2].[ID] = [T1].[ID]
然而,关于SQL引擎是否能够优化这一点的信息是粗略的。
我会想象上面的例子可以,但是在涉及超过10个表的例子中呢。
SQL查询引擎优化这些查询与使用内部和外部联接的效果如何?
答案 0 :(得分:0)
是的,SQL Server可以优化它。我在我的SQL Server 2012实例上运行了它,它为我提供了两个查询的相同执行计划:
SELECT [T2].[c3], [T1].[c3]
FROM [dbo].[T2] T2, [dbo].[T1] T1
WHERE [T2].[ID] = [T1].[ID]
和
SELECT [T2].[c3], [T1].[c3]
FROM [dbo].[T2] T2
INNER JOIN [dbo].[T1] T1 ON [T2].[ID] = [T1].[ID]
SQL Server 2012本质上与2008年具有相同的查询优化器.SQL Server 2014有一个新的,但我怀疑它在这种情况下不会有所作为。