Oracle学习:分组数据(group by)与笛卡尔积
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Oracle学习:分组数据(group by)与笛卡尔积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                一、分組數據
基本格式: select …, 分組函數 from emp where … group by …
 (1) 統計各個部門的平均工資
(2)統計各個部門不同工種的平均工資
select deptno, job, avg(sal) from emp group by deptno, job;注:select 后面沒有出現在分組函數中的列名, 一定要出現在 group by 子句中。而在 group by 子句中出現的列,不要求一定出現在 select 后面的列中
(3)統計各個部門平均工資高于 2000的部門
select deptno, avg(sal) from emp group by deptno having avg(sal)>2000;//對分組數據進行過濾,不能夠使用 where,應該使用 having(4)求 10 號部門員工的平均薪水
select deptno, avg(sal) from emp where deptno=10 group by deptno; select deptno, avg(sal) from emp group by deptno having deptno=10;//二者等價二、笛卡爾積
笛卡爾積的作用是處理多表查詢;
 笛卡爾積行數=A 表的行數*B 表的行數;
 笛卡爾積列數=A 表的列數+B 表的列數;
 笛卡爾積的數據集合中有一些是無效的數據, 需要進行過濾
 對于有 2 個表的的笛卡爾積,需要一個條件,對于 n 個表需 要 n-1 個條件
 對于多表查詢,首先會生成笛卡爾積,笛卡爾積里面會有無效的數據,此時需要過濾篩選。
 詳細如下圖所示:
 
總結
以上是生活随笔為你收集整理的Oracle学习:分组数据(group by)与笛卡尔积的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Oracle学习:条件表达式及分组函数
 - 下一篇: Oracle学习:多表查询与子查询