博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 数据库入门之----------------------多表查询
阅读量:7093 次
发布时间:2019-06-28

本文共 5866 字,大约阅读时间需要 19 分钟。

多表查询

SQL> --工资总额

SQL> select sum(sal) from emp;

SUM(SAL)


29025

SQL> --人数

SQL> select count(*) from emp;

COUNT(*)


14

SQL> --平均工资

SQL> select sum(sal)/count(*) 一,avg(sal) 二 from emp;

一         二

2073.21429 2073.21429

SQL> --平均奖金

SQL> select sum(comm)/count(*) 一,sum(comm)/count(comm) 二,avg(comm) 三

2 from emp;

一         二         三

157.142857 550 550

SQL> select count(*), count(comm) from emp;

COUNT(*) COUNT(COMM)


14           4

SQL> select * from emp;

EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

7369 SMITH      CLERK           7902 17-12月-80            800                    20                                                                                                                7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30                                                                                                                7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30                                                                                                                7566 JONES      MANAGER         7839 02-4月 -81           2975                    20                                                                                                                7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30                                                                                                                7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30                                                                                                                7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10                                                                                                                7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20                                                                                                                7839 KING       PRESIDENT            17-11月-81           5000                    10                                                                                                                7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30                                                                                                                7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20                                                                                                               EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

7900 JAMES      CLERK           7698 03-12月-81            950                    30                                                                                                                7902 FORD       ANALYST         7566 03-12月-81           3000                    20                                                                                                                7934 MILLER     CLERK           7782 23-1月 -82           1300                    10

已选择 14 行。

SQL> --null值 5. 组函数会自动滤空;

SQL> select count(*), count(nvl(comm,0)) from emp;

COUNT(*) COUNT(NVL(COMM,0))


14                 14

SQL> --null值 5. 组函数会自动滤空;可以嵌套滤空函数来屏蔽他的滤空功能

SQL> host cls

SQL> --每个部门的平均工资

SQL> select deptno,avg(sal)

2 from emp

3 group by deptno;

DEPTNO   AVG(SAL)

30 1566.66667                                                                                                                                                                                       20       2175                                                                                                                                                                                       10 2916.66667

SQL> --多个列的分组

SQL> select deptno,job,sum(sal)

2 from emp

3 group by deptno,job

4 order by 1;

DEPTNO JOB         SUM(SAL)

10 CLERK           1300                                                                                                                                                                             10 MANAGER         2450                                                                                                                                                                             10 PRESIDENT       5000                                                                                                                                                                             20 ANALYST         6000                                                                                                                                                                             20 CLERK           1900                                                                                                                                                                             20 MANAGER         2975                                                                                                                                                                             30 CLERK            950                                                                                                                                                                             30 MANAGER         2850                                                                                                                                                                             30 SALESMAN        5600

已选择 9 行。

SQL> --多个列的分组: 先按照第一个列分组,如果相同,再第二个列分组,以此类推

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

SQL> select deptno,avg(sal)

2 from emp

3 group by deptno

4 having avg(sal) > 2000;

DEPTNO   AVG(SAL)

转载于:https://blog.51cto.com/214200/2387380

你可能感兴趣的文章
Sencha Toucha 2.1 文件上传
查看>>
vue打包后出现的.map文件
查看>>
前端应用框架(三)
查看>>
多线程的死锁
查看>>
定时任务框架Quartz-(一)Quartz入门与Demo搭建
查看>>
css导航栏
查看>>
洛谷3195(HNOI2008)玩具装箱
查看>>
按行拆分文本文件与合并文本文件---I/O流---java
查看>>
offsetLeft,Left,clientLeft的区别
查看>>
parseInt()详解
查看>>
将阿拉伯数字转为中文大写读法
查看>>
bzoj 1493 暴力
查看>>
转://【MOS】关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)--跨版本恢复...
查看>>
我与Java的故事-从这里开始
查看>>
[转载] 杜拉拉升职记——32 杀机
查看>>
Linux errno详解
查看>>
有关SQLite的substr函数的笔记
查看>>
《12-1-构建之法:现代软件工程-阅读笔记》
查看>>
C#7.0之ref locals and returns (局部变量和引用返回,之前欠大家的,现在补上)
查看>>
【九校3D2T3】世界第一的猛汉王
查看>>