聚集函數(shù)用來匯總數(shù)據(jù)。雖然至今為止聚集函數(shù)的所有例子只是從單個表匯總數(shù)據(jù),但這些函數(shù)也可以與聯(lián)結一起使用。為說明這一點,請看一個例子。如果要檢索所有客戶及每個客戶所下的訂單數(shù),下面使用了 count() 函數(shù)的代碼可完成此工作:
輸入:
select?customers.cust_name,customers.cust_id,count(order_num)?as?num_ord?from?customers?inner?join?orders?on?customers.cust_id?=?orders.cust_id?group?by?custo,=mers.cust_id;
輸出:
分析:此 SELECT 語句使用 INNER JOIN 將 customers 和 orders 表互相關聯(lián)。GROUP BY 子句按客戶分組數(shù)據(jù),因此,函數(shù)調(diào)用 COUNT(orders.order_num) 對每個客戶的訂單計數(shù),將它作為 num_ord 返回。
聚集函數(shù)也可以方便地與其他聯(lián)結一起使用。請看下面的例子:
輸入:
select?customers.cust_name,customers.cust_id,count(order_num)?as?num_ord?from?customers?left?outer?join?orders?on?customers.cust_id?=?orders.cust_id?group?by?custo,=mers.cust_id;
輸出:
分析:這個例子使用左外部聯(lián)結來包含所有客戶,甚至包含那些沒有任何下訂單的客戶。結果顯示也包含了客戶 Mouse House ,它有 0 個訂單。
? 版權聲明
文章版權歸作者所有,未經(jīng)允許請勿轉載。
THE END