2012-09-27 72 views
0

可能重复:
Explicit vs implicit SQL joins在连接查询

第一:

SELECT a.field, b.field 
FROM a, b 
WHERE a.id = b.id 

二:

SELECT a.field, b.field 
FROM a INNER JOIN b 
ON a.id = b.id 

这两种方法之间是否有区别,或者它们的工作方式相同?

+1

最终结果将是相同的。问题在于执行是否相同。我想对于这个简单的查询,计划者将足够聪明,为两者制定相同的计划。 –

+0

阅读rs的链接。张贴 –

+1

没有区别,除了错误的可能性和维修的困难。请阅读:http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx –

回答

0

他们产生相同的结果,并执行相同的,但我觉得第二种方法是迄今为止在大型查询更清晰,所以它应始终使用(虽然我不同的格式化)

I格式是这样的:

SELECT 
    a.field 
    ,b.field 
FROM a 
INNER JOIN b ON a.id = b.id