2010-07-18 67 views

回答

3

而不是引用整個維基百科的文章中,我會建議在SQL Joins你自己的文章。

的SQL JOIN子句結合記錄 從兩個或多個表中的一個 數據庫。它創建一個可以保存爲表格或按原樣使用的集合 。 JOIN是一種通過使用各自共同的值 將兩個表中的 字段合併的方法。 ANSI標準SQL 指定了四種類型的JOIN:INNER, OUTER,LEFT和RIGHT。在 特殊情況下,表(基表,視圖或 合併表)可以在 自聯接中加入自己。

程序員編寫JOIN謂詞 來標識要加入的記錄。 如果評估謂詞爲真,則 然後以預期格式產生組合記錄 ,例如記錄集 或臨時表。

有一個較老的語法,它使用WHERE子句暗示INNER JOIN。雖然它可以工作,並且會產生完全像使用INNER JOIN語法指定的查詢那樣的查詢,但由於大多數人發現它更容易混淆,因此不推薦使用。

以下是MySQL JOIN syntax的文檔。

2

這個查詢:

SELECT c.customer_name, o.order_id, o.total 
FROM customers c, orders o 
WHERE c.id = o.customer_id 

SELECT c.customer_name, o.order_id, o.total 
FROM customers c 
INNER JOIN orders o ON c.id = o.customer_id 

做什麼是MySQL服務器上執行的沒有什麼區別,但連接是(恕我直言)的方式更具可讀性。 Expecially對於更復雜的聯接:

這裏是關於主題的文章:http://www.mysqlperformanceblog.com/2010/04/14/is-there-a-performance-difference-between-join-and-where/

相關問題