Oracle高级查询-更新中
概述高级查询在数据库的开发过程中应用广泛,本博文将从分组查询、多表查询和子查询三个方面介绍Oracle的高级查询,最后典型案例的应用。 sql窗口修改已执行的sqled表示编辑上个sql 分组查询分组函数的概念分组函数作用于一组数据,并对一组数据返回一个值。 分组函数的语法常用分组函数
分组函数的使用avg()/sum()求出员工的平均工资和工资总和。 SQL> select avg(sal),sum(sal) from emp ;
AVG(SAL) SUM(SAL)
---------- ----------
2073.21428 29025
min()/max()SQL> select min(sal),max(sal) from emp;
MIN(SAL) MAX(SAL)
---------- ----------
800 5000
SQL>
count()SQL> select count(1) from emp;
COUNT(1) ----------
14
distinct 关键字SQL> select distinct(deptno) from emp;
DEPTNO ------
30
20
10
wm_concat()行转列SQL> select deptno 部门,wm_concat(ename) 部门总的员工 from emp group by deptno;
部门 部门总的员工
---- --------------------------------------------------------------------------------
10 CLARK,MILLER,KING
20 SMITH,FORD,ADAMS,SCOTT,JONES
30 ALLEN,JAMES,TURNER,BLAKE,MARTIN,WARD
wm_concat不同版本的区别10.2.0.4以前,wm_concat返回的是varchar2,10.2.0.5开始,是CLOB. nvl()/nvl2()分组函数会自动忽略空值,nvl()函数可以使分组函数不忽略空值 NVL (expr1,expr2) NVL2 (expr1,expr2,expr3) group by语法
select a,b,c,avg(d) from table_name group by a,c ;
select avg(sal) from emp group by deptno;
使用多个列分组按照部门、不同的职位,统计员工的工资总和。 select deptno,job,sum(sal) from emp group by deptno,job order by deptno;
先按照deptno分组,再按照job分组,如果都一样,则是同一组数据。 过滤分组-having子句的使用以及和where的区别having子句语法having子句和where的区别
举例: 在分组函数中使用order byselect deptno,avg(sal) from emp group by deptno order by avg(sal) ;--按表达式排序
select deptno,avg(sal) 平均工资 from emp group by deptno order by 平均工资 ;--按别名排序
select deptno,avg(sal) 平均工资 from emp group by deptno order by 2 ; --按序号排序,表示第二列。 如果只有2列,不能出现比2大的值
分组函数的嵌套栗子: 求部门平均工资的最大值
select max(avg(sal)) from emp group by deptno;
包含在group by子句中的列,不必包含在select列表中。 group by语句的增强rollup()多表连接子查询案例(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 可以在Rails中缓存自定义的sql查询吗?
- ruby-on-rails – 什么原因导致deprecation警告:ActiveRec
- ruby-on-rails-3 – Yaml输出填充!map:ActiveSupport ::
- COCOS2DX-游戏开发之 坐标系
- Error:(37) Error parsing XML: not well-formed (invalid
- ajax请求返回Json字符串运用highcharts数据图表展现数据
- c# – 调试器如何获取有关初始化为null的对象的类型信息?
- 如果posix关闭调用失败怎么办?
- Postgresql JSONB即将到来 现在用什么Hstore? JSON? EAV?
- 开发 React Native APP —— 从改造官方Demo开始(一)