2013-02-02 80 views
1

試圖進入連接的使用,並找出查詢的最佳用法和公式。試圖爲所有者獲取所有寵物 - 我是否通過比較來調用連接?正確的查詢MySQL使用WHERE ON INNER JOIN正確的順序和語法

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

或者,我是否調用完全連接並添加WHERE語句?

SELECT * 
FROM VISITOR 
INNER JOIN OWNER ON VISITOR.OWNER_ID = OWNER.ID 
WHERE VISITOR.OWNER_ID =1 

任何關於什麼是正確的方法的解釋也將被讚賞。 謝謝大家:)

回答

2

查詢時,基於表到表關係字段進行連接是很典型的。另外,您可以在各個級別添加其他條件以進一步篩選最終數據集。這就是說......

SELECT 
     * 
    FROM 
     VISITOR V 
     INNER JOIN OWNER Own 
      ON V.OWNER_ID = Own.OWNER_ID 
    WHERE 
     V.OWNER_ID = 1 

確保你對「owner_id」上的訪問者表中的索引關鍵字的優化幫助......或者,你可以扭轉這種局面如

SELECT 
     * 
    FROM 
     OWNER Own 
     JOIN VISITOR V 
      ON Own.OWNER_ID = V.OWNER_ID 
    WHERE 
     Own.OWNER_ID = 1 
+1

@KDawg ,對不起,是的,你需要「ON」條款 – DRapp

+0

啊......非常感謝這個DRap :) – KDawg