600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > oracle 连接查询 子查询 分组函数

oracle 连接查询 子查询 分组函数

时间:2023-05-03 10:25:48

相关推荐

oracle 连接查询 子查询 分组函数

1.oracle 连接查询

2.oracle 子查询

3.oracle 分组函数

3.1

3.2 rollup

SQL> --group by 作用于多列,先按照第一列进行分组,如果相同,按照第二列进行分组

SQL> --求平均工资大于2000 的部门

SQL> select deptno,job,avg(sal)

2 from emp

3 group by deptno,job

4 /

DEPTNO JOBAVG(SAL)

---------- --------- ----------

20 CLERK950

30 SALESMAN 1400

20 MANAGER2975

30 CLERK950

10 PRESIDENT 5000

30 MANAGER2850

10 CLERK1300

10 MANAGER2450

20 ANALYST3000

已选择9行。

SQL> --having 对分组后结果进行条件过滤

SQL> ed

已写入 file afiedt.buf

1 select deptno,job,avg(sal)

2 from emp

3 group by deptno

4* having avg(sal)>2000

SQL> /

select deptno,job,avg(sal)

*

第 1 行出现错误:

ORA-00979: 不是 GROUP BY 表达式

SQL> ed

已写入 file afiedt.buf

1 select deptno,avg(sal)

2 from emp

3 group by deptno

4* having avg(sal)>2000

SQL> /

DEPTNO AVG(SAL)

---------- ----------

20 2175

10 2916.66667

SQL> --rollup 方法的增强

SQL> select deptno,job,sum(sal)

2 from emp

3 group by rollup(deptno,job)

4 /

DEPTNO JOBSUM(SAL)

---------- --------- ----------

10 CLERK1300

10 MANAGER2450

10 PRESIDENT 5000

10 8750

20 CLERK1900

20 ANALYST6000

20 MANAGER2975

20 10875

30 CLERK950

30 MANAGER2850

30 SALESMAN 5600

30 9400

29025

已选择13行。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。