oracle+登陆管理员账号密码oracle分组函数、临时表

oracle分组函数、临时表

 

一.分组函数 

max min avg count sum 

1,整个结果集是一个组 

   1) 求部门30 的最高工资,最低工资,平均工资,总人数,有工作的人数,工种数量及工资总和      select max(ename),max(sal),      min(ename),min(sal),      avg(sal),      count(*) ,count(job),count(distinct(job)) ,      sum(sal) from emp where deptno=30; 2, 带group by 和 having 的分组    1)按部门分组求最高工资,最低工资,总人数,有工作的人数,工种数量及工资总和     select deptno, max(ename),max(sal),     min(ename),min(sal),     avg(sal),     count(*) ,count(job),count(distinct(job)) ,     sum(sal) from emp group by deptno;       2)部门30的最高工资,最低工资,总人数,有工作的人数,工种数量及工资总和     select deptno, max(ename),max(sal),     min(ename),min(sal),     avg(sal),     count(*) ,count(job),count(distinct(job)) ,     sum(sal) from emp group by deptno having deptno=30;    3, stddev 返回一组值的标准偏差     select deptno,stddev(sal) from emp group by deptno;     variance 返回一组值的方差差     select deptno,variance(sal) from emp group by deptno; 4, 带有rollup和cube操作符的Group By     rollup 按分组的第一个列进行统计和最后的小计     cube 按分组的所有列的进行统计和最后的小计     select deptno,job ,sum(sal) from emp group by deptno,job;     select doracle账号eptno,job ,sum(sal) from emp group by rollup(deptno,job);     cube 产生组内所有列的统计和最后的小计     select deptno,job ,sum(sal) from emp group by cube(deptno,job); 

 

 

二、临时表 

   只在会话期间或在事务处理期间存在的表. 

   临时表在插入数据时,动态分配空间 

   create global temporary table temp_dept    (dno number,    dname varchar2(10))    on commit delete rows;    insert into temp_dept values(10,'ABC');    commit;    select * from temp_dept; --无数据显示,数据自动清除    on commit preserve rows:在会话期间表一直可以存在(保留数据)    on commit delete rows:事务结束清除数据(在事务结束时自动删除表的数据)

 

此条目发表在oracle metalink账号分类目录,贴了, 标签。将固定链接加入收藏夹。