可能重複:
In MySQL queries, why use join instead of where?mysql中'where'和不同'連接'有什麼區別?
加入總是困惑於me..can誰能告訴我什麼不同區別連接和哪一個是最快的,當要使用的加盟,連接和where子句有什麼區別?由於我已經閱讀過有關某些網站的加入內容,所以Plz給出了詳細的答案,但沒有正確理解這個概念。
可能重複:
In MySQL queries, why use join instead of where?mysql中'where'和不同'連接'有什麼區別?
加入總是困惑於me..can誰能告訴我什麼不同區別連接和哪一個是最快的,當要使用的加盟,連接和where子句有什麼區別?由於我已經閱讀過有關某些網站的加入內容,所以Plz給出了詳細的答案,但沒有正確理解這個概念。
而不是引用整個維基百科的文章中,我會建議在SQL Joins你自己的文章。
的SQL JOIN子句結合記錄 從兩個或多個表中的一個 數據庫。它創建一個可以保存爲表格或按原樣使用的集合 。 JOIN是一種通過使用各自共同的值 將兩個表中的 字段合併的方法。 ANSI標準SQL 指定了四種類型的JOIN:INNER, OUTER,LEFT和RIGHT。在 特殊情況下,表(基表,視圖或 合併表)可以在 自聯接中加入自己。
程序員編寫JOIN謂詞 來標識要加入的記錄。 如果評估謂詞爲真,則 然後以預期格式產生組合記錄 ,例如記錄集 或臨時表。
有一個較老的語法,它使用WHERE子句暗示INNER JOIN。雖然它可以工作,並且會產生完全像使用INNER JOIN語法指定的查詢那樣的查詢,但由於大多數人發現它更容易混淆,因此不推薦使用。
以下是MySQL JOIN syntax的文檔。
這個查詢:
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對於更復雜的聯接: