最新的Web開發教程
 

SQL連接


SQL連接用於排從兩個或多個表結合起來。


SQL JOIN

一個SQL JOIN子句用於行從兩個或更多表的基礎上在它們之間的公共場結合起來。

加入最常見的類型是:SQL INNER JOIN(簡單連接)。 一個SQL INNER JOIN回報從哪裡連接條件滿足多個表的所有行。

讓我們來看看選擇從"Orders"表:

訂單ID 客戶ID 訂購日期
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

然後,看看從選擇"Customers"表:

客戶ID 顧客姓名 聯繫人姓名 國家
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mexico

請注意, "CustomerID"列中的"Orders"表指的是"CustomerID"中的"Customers"表。 上面的兩個表之間的關係是"CustomerID"列中。

那麼,如果我們運行下面的SQL語句(包含內部聯接):

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
試一試»

它會產生這樣的事情:

訂單ID 顧客姓名 訂購日期
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taqueria 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbkop 8/12/1996

不同的SQL連接

之前,我們將繼續與例子中,我們將列出類型的不同SQL連接,你可以使用:

  • INNER JOIN :返回的所有行的時候有兩個表中至少有一個匹配
  • LEFT JOIN :左表中返回所有行和右表匹配的行
  • RIGHT JOIN :右表中返回所有行和左表的匹配的行
  • FULL JOIN :返回所有行的時候沒有在表中的一個匹配