前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 数据库入门之----------------------多表查询

Oracle 数据库入门之----------------------多表查询

原创
作者头像
互联网CEO
修改2018-12-12 10:16:18
5880
修改2018-12-12 10:16:18
举报

多表查询

?

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)??????????????????????????????????????????????????????????????????????????????????

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com