資料庫(學習整理)----7--Oracle多表查詢,三種join串連

來源:互聯網
上載者:User

標籤:

彙總函式:(都會忽略null資料)    常用的有5種:將欄位中所有的資料彙總在一條中        1、sum(欄位名)        :求總和                2、avg(欄位名)        :求平均值        3、max(欄位名)        :求最大值        4、min(欄位名)        :求最小值        5、count(欄位名、*)    :統計行數  ----2、按部門編號,查詢平均薪水 ,並且平均薪水<1300的不顯示,結果按降序排序select empno,avg(sal) as avgsalfrom scott.empgroup by empnohaving avg(sal)>=1300order by avgsal desc;說明:    SQL語句的執行順序:一定是從上到下的!        group by 執行之後才會執行having    、select中沒有使用彙總函式的欄位名必須寫在這裡    having 後不能使用欄位的別名   可以彙總函式、一般欄位名    order by 後面可以有:欄位名、彙總函式、欄位別名注意:    Oracle 10g中才會出現的容錯性:        having 語句可以寫在group by 之前,不會報錯,但是實際上執行的順序還是先執行group by 後執行having子句說明:    1、當一個查詢中,出現彙總函式和沒有使用彙總函式的欄位,則該欄位必須出現在group by子句中!    2、group by 欄位1,欄位2;  會先按照欄位1分組得到一個結果集,再按照欄位2進行分組!    3、where 發生在group by 前!    4、where 後面不能有彙總函式!    多表查詢:    表串連分類: 內串連、外串連、交叉串連    1、內串連: [inner] join    on        SQL文法格式:            文法1:                select *                from 表1 [inner] join 表2 on 表1.欄位1=表2.欄位1;            文法2:                select *                from 表1,表2                where 表1.欄位1=表2.欄位1;        說明:             內串連中的inner join 和 join 是等價的!但是建議為了程式的可讀性            盡量不要省略inner!    2、外串連:                 分類:左外串連、右外串連、全串連!        1、左外串連:left outer join                         串連效果:                    左側的表中的全部資料都會被顯示出來,但是右側表的資料,                 只有和左側匹配上的欄位才會被查詢出來!否則都會顯示null!            SQL文法格式:                                文法1:                    select *                    from 表1 left outer join 表2                         on 表1.欄位1=表2.欄位1;                文法2:                    select *                    from 表1 left outer join 表2                    where 表1.欄位1=表2.欄位1(+);        2、右外串連:right outer join                         串連效果:                    右側的表中的全部資料都會被顯示出來,但是左側表的資料,                 只有和右側匹配上的欄位才會被查詢出來!否則都會顯示null!            SQL文法格式:                                文法1:                    select *                    from 表1 right outer join 表2                         on 表1.欄位1=表2.欄位1;                文法2:                    select *                    from 表1 left outer join 表2                    where 表1.欄位1(+)=表2.欄位1;        3、全外串連:full/all outer join             SQL文法格式:                                    select *                    from 表1 full outer join 表2                         on 表1.欄位1=表2.欄位1;    2、交叉串連: 表與表之間做笛卡爾積查詢!        SQL文法格式:(無條件查詢)            select *            from 表1 cross join 表2;                   或者            select *            from 表1, 表2;

 

資料庫(學習整理)----7--Oracle多表查詢,三種join串連

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.