Oracle將多個查詢結果以列的形式合并在一起

來源:互聯網
上載者:User

--問題:查詢部門的平均工資 崗位的平均工資 每個部門的每個崗位的平均工資

且將其在一個查詢中展示

 

思路:首先分別查出這三張表 假設為A B C 然後利用兩兩結合 先將A B結合由於它

們之間沒有任何關係 所以想要串連它們需要使用rownum 利用完全外串連和rownum相等 使A B表以欄位的形式(而不是以行的形式)串連在一起這樣的話就可以實現將不同表中的資料以列的形式合并在一起(之所以這麼 麻煩是因為union union all minus intersect是以行的形式將多個查詢結果合并在一起的 想要實現以列的形式將多個查詢結果合并在一起的話就需要藉助rownum和(完全)外串連來實現)解決這個問題的核心就是rownum和完全外串連

具體代碼:

select e3.部門平均工資, e3.崗位平均工資, e44.部門崗位平均工資 from

(select e11.部門平均工資, e22.崗位平均工資, rownum rn from

(select e1.部門平均工資, rownum rn from

(select avg(sal) 部門平均工資 from

emp group bydeptno)e1)e11

full join

(select e2.崗位平均工資, rownum rn from

(select avg(sal) 崗位平均工資 from

emp group by job)e2)e22

on e11.rn = e22.rn)e3

full join

(select e4.*, rownum rn from

(select avg(sal) 部門崗位平均工資 from

emp group by deptno,job)e4)e44

on e3.rn = e44.rn;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.