-
--在分組查詢中使用order by 子句查看全部
-
having 過濾分組 --求出平均工資大于2000的部門 select deptno ,avl(sal) from emp group by deptno --where 與having的區別 --1.不能在where子句中使用組函數。 --2.可以在hving子句zhong使用組函數。 --3.where和having共用 select deptno,avg(sal) from emp having deptno =10; --從sql優化的角度上看,盡量使用where --having 先分組后過濾 where 先過濾在分組 --where 使得分組記錄數大大降低,從而提高效率 having avg(sal)>2000;查看全部
-
--group by 子句 select deptno ,avg(sal) from emp group by deptno; --抽象 select a ,組函數(x) from table group by a ; --在select 列表中所有未包含在組函數中的列都應該包含在group by子句中。 select deptno ,job,sum(sal) from emp group by deptno, jbo order by depton;查看全部
-
--分組函數與空值 select sum(sal)/count(*),avg(sal) from emp; --注意:分組函數會自動忽略空值 --nvl函數使分組函數無法忽略空值 select count(*),count(nvl(comm,0)) from emp;查看全部
-
select deptno 部門號,wm_concat(ename) 部門中員工的姓名 from emp group by deptno;查看全部
-
--平均 總和 select avg(sal),sum(sal) from emp; --最小和最大 select min(sal),max(sal) from emp; --總個數 select count(1) from emp; --求出部門數 select count(distinct deptno) from emp;查看全部
-
分組函數:avg 平均 sum 求和 min 最小 max 最大 count 個數 wm_concat 行轉列查看全部
-
相同的部門號只顯示一次,不同的部門號隔2行 break on deptno skip 2查看全部
-
group by 語句的增強 group by rollup(a.b)可以理解等價于: group by a,b + group by a + group by null查看全部
-
select count(*),count(comm) from emp; count(*)=14,count(comm)=4不同, 原因是分組函數會自動忽略空值。 修改,加入nvl()函數(濾空函數), select count(*),count(nvl(comm,0)) from emp; 結果count(*)=14,count(comm)=14相同查看全部
-
行轉列 vm_concat; 將員工表中的數據,一個部門一條數據,把同一部門的員工的姓名用“,”隔開。 select detpno 部門號, vm_concat(ename) 部門號中員工的姓名 from emp group by deptno;查看全部
-
行號只能小于或小于等于,不能用大于或者大于等于。查看全部
-
若子查詢不返回任何行,則主查詢也會為空查看全部
-
select deptno,job,sum(sal) from emp group by rollup(deptno,job)查看全部
-
外連接:把連接條件不成立的記錄仍然包括在結果中查看全部
舉報
0/150
提交
取消