到目前為止顯示的所有查詢,一次只從一個表中選擇。
SQL 的最有利的特征之一是能夠組合來自兩個或多個表的數(shù)據(jù)。
在下面的兩個表中,customers 表存儲有關(guān)客戶的信息,orders 表存儲有關(guān)訂單及其相應(yīng)金額的信息。
customers 表:
orders 表:
在SQL中,“表連接” 表示組合來自兩個或多個表的數(shù)據(jù)。表連接創(chuàng)建一個臨時表,顯示連接表中的數(shù)據(jù)。
“orders” 表不是將客戶名稱存儲在兩個表中,而是包含對 “customers” 表中顯示的客戶ID的引用。這種方法更有效,而不是在兩個表中存儲相同的文本值。
為了能夠從兩個表中選擇相應(yīng)的數(shù)據(jù),我們需要在這個條件下連接它們。
你將在下一小節(jié)中學習更多有關(guān) “表連接” 的知識。
id FROM students id ;
要連接這兩個表,請在 FROM 子句中將它們指定為逗號分隔列表。
SQL 語句如下所示:
SELECT customers.ID, customers.Name, orders.Name, orders.Amount FROM customers, orders WHERE customers.ID=orders.Customer_ID ORDER BY customers.ID;
每個表包含 “ID ”和 “Name” 列,因此為了選擇正確的 ID 和 Name,將使用完全限定名稱。
請注意,WHERE 子句 “連接” 表,條件是來自 customers 表的 ID 應(yīng)等于 orders 表的 customer_ID。
上面 SQL 語句執(zhí)行輸出結(jié)果如下:
返回的數(shù)據(jù)顯示客戶訂單及其相應(yīng)金額。
在 FROM 中通過逗號分隔來指定多個表名。
SELECT customers.name, items.names FROM , items items.seller_id=customers.id;