1. 程式人生 > >Oracle資料庫之外連線和分組查詢:left,right,full join 和表連線

Oracle資料庫之外連線和分組查詢:left,right,full join 和表連線

資料庫開發時經常要編寫過程來優化資料庫的增刪該查和一些簡單的業務操作,或在java中呼叫,或定義job按時執行(如每天,每週,每月...的統計任務),其中查詢操作最有可能面臨效能瓶頸。

因此,我們通常希望(遇過按月查詢幾億條資料的情況)查詢操作能夠儘可能地快,減少對資料量大的表查詢次數將極大地提高資料庫查詢的效率。

使用left,right,full 和分組函式混搭將極大的提高查詢效率,查詢的要點是:

1、儘量不做表連線(這個操作是極其耗費時間的)。

2、儘可能在查詢的第一步將資料分組查詢,自定義分組可以按照本人的一篇部落格《Oracle資料庫之group by:按自定規則分組》。

附 left join的使用方法,也可以使用(+)代替

select a.*,kks,kkzjs from (select substr(dwbh,0,4) dwbh, jdmc from AAAAAA) a
       left join
       (select substr(xzqhh,0,4) xzqhh,count(1) kks from BBBBBB group by substr(xzqhh,0,4)) b
       on a.dwbh=b.xzqhh;

請勿轉載

------------------------------------------------------------------------我是萌萌的小尾巴,Sherlock Law