2014-11-03 87 views
-1

我有這個疑問:連接表+ where子句VS使用的連接

SELECT pe.Name, ad.Street 
FROM Person pe, Address ad 
WHERE pe.PersonID = ad.PersonID 

而這個查詢:

SELECT pe.Name, ad.Street 
FROM Person pe 
JOIN Address ad on pe.PersonID = ad.PersonID 

我執行不同的查詢比這更復雜,但兩者有相同的結果,以及執行所需的時間。

他們之間有真正的區別,還是關於「品味」?

+0

正確的格式是第二個查詢中的顯式'join'。這種語法在20年前就已經引入到SQL中,並且比第一種語法更強大。這不是「品味」問題,而是功能問題。 – 2014-11-03 14:43:56

回答

1

您提到的兩種類型稱爲隱式連接(您的第一個查詢),而另一種是顯式連接。他們在性能方面沒有任何區別,但只是建議我們使用顯式連接。你也可以參考here