程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 分析一下聚合函數與連接表的組合使用

分析一下聚合函數與連接表的組合使用

編輯:MySQL綜合教程

分析一下聚合函數與連接表的組合使用   看這樣一個關系 Customers(cust_id,cust_name,cust_contact) Orders(order_num,cust_id,order_date)   如果有這樣的檢索語句: Sql代碼   select cust_name,cust_contact,(          select count(*) from Orders                          where Orders.cust_id=Customers.cust_id                             group by cust_id)   from Customers     其運作步驟為: 1.從Orders表中檢索出每個cust_id所具有的訂單數量 可以那麼做,因為孤立擺出count(*)是在group by 顧客編號基礎上聚合的。 並且在聚合的之前,先進行連接表操作。把orders , Customers連接起來了。 這樣內外只的就是同意顧客的信息.   2.外層列出其他需要的顧客信息。 注意點: 內層的通常用做單獨孤立的聚合函數, 內層的分組操作前必須給出與外層的連接條件。 外層的select後面的選擇列基本都是在外面的表裡。 總結,這個句子究竟屬於子查詢呢還是普通的連接。 很明顯。是子查詢,以為是select 裡面包含一個select 句子。 非常特殊,子句可以用作一個檢索列!~就是這樣。 以後碰到突然要分組但是又涉及兩個不同的表,可以嘗試這樣的思路。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved