2013-02-02 59 views
0

可能重複:
INNER JOIN ON vs WHERE clause表內連接或選擇多發表

INNER JOIN:


SELECT * 
FROM PETS 
INNER JOIN OWNER ON PETS.OWNER_ID = 1 
AND OWNER.ID = 1 

多個表的SELECT:


SELECT * 
FROM PETS, OWNER 
WHERE PETS.OWNER_ID = 1 
AND OWNER.ID = 1 

  • 是一個比其他更好嗎?
  • 比另一個更快?

他們似乎產生完全相同的結果。

  • 有什麼區別嗎?

我想學習最好的方法。在使用加盟,我注意到,同樣的事情可以用多個表調用

+1

此代碼導致的性能問題,或只是好奇? – R0MANARMY

+0

沒有性能問題....然而。我正在嘗試學習最好的方法。在使用連接時,我注意到多個表格調用可以實現完全相同的功能。 – KDawg

+0

我讀過「第二種語法具有交叉連接的不必要的可能性:您可以將表添加到FROM部分而沒有相應的WHERE子句,這被認爲是有害的。」這裏>>> http://sqldatabases.deveronline.com/2012/24/explicit-vs-implicit-sql-joins.html如果任何人都可以解釋這是如何被認爲是有害的部分,那可能是對這個問題有幫助。但是我仍然無法找到任何關於任何語法的棄用的證據。 – KDawg

回答