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