oracle课件-03连接与汇总

上传人:san****019 文档编号:70132761 上传时间:2019-01-16 格式:PPT 页数:41 大小:243.50KB
返回 下载 相关 举报
oracle课件-03连接与汇总_第1页
第1页 / 共41页
oracle课件-03连接与汇总_第2页
第2页 / 共41页
oracle课件-03连接与汇总_第3页
第3页 / 共41页
oracle课件-03连接与汇总_第4页
第4页 / 共41页
oracle课件-03连接与汇总_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《oracle课件-03连接与汇总》由会员分享,可在线阅读,更多相关《oracle课件-03连接与汇总(41页珍藏版)》请在金锄头文库上搜索。

1、AUTHOR: BAI CHUNCAI,DATE: 2003/02/20,DALIAN HAIHUI SCI-TECH,Oracle 数据库培训 (三),高级查询 表的连接 数据汇总,连接的功能: 从多个表取得数据合成一个结果集合,EMPNO DEPTNO LOC - - - 7839 10 NEW YORK 7698 30 CHICAGO 7782 10 NEW YORK 7566 20 DALLAS 7654 30 CHICAGO 7499 30 CHICAGO . 14 rows selected.,连接,EMP,DEPT,EMPNO ENAME . DEPTNO - - . - 783

2、9 KING . 10 7698 BLAKE . 30 . 7934 MILLER . 10,DEPTNO DNAME LOC - - - 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON,连接,从多个表取得数据合成一个结果集合. 在 WHERE 子句中写连接条件. 需要表明列来自于哪个表.,SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1 = table2.column2;,连接,

3、等值连接,非等值连接,外连接,自连接,连接的种类:,等值连接,EMP,DEPT,EMPNO ENAME DEPTNO - - - 7839 KING 10 7698 BLAKE 30 7782 CLARK 10 7566 JONES 20 7654 MARTIN 30 7499 ALLEN 30 7844 TURNER 30 7900 JAMES 30 7521 WARD 30 7902 FORD 20 7369 SMITH 20 . 14 rows selected.,DEPTNO DNAME LOC - - - 10 ACCOUNTING NEW YORK 30 SALES CHICAGO

4、 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 20 RESEARCH DALLAS 20 RESEARCH DALLAS . 14 rows selected.,等值连接,SQL SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc 3 FROM emp, dept 4 WHERE emp.deptno=dept

5、.deptno;,EMPNO ENAME DEPTNO DEPTNO LOC - - - - - 7839 KING 10 10 NEW YORK 7698 BLAKE 30 30 CHICAGO 7782 CLARK 10 10 NEW YORK 7566 JONES 20 20 DALLAS . 14 rows selected.,等值连接举例,使用表的别名,使用表的别名可以简化查询语句.,SQL SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc 3 FROM emp, dept 4 WHERE emp.dep

6、tno=dept.deptno;,SQL SELECT e.empno, e.ename, e.deptno, 2 d.deptno, d.loc 3 FROM emp e, dept d 4 WHERE e.deptno=d.deptno;,非等值连接,EMP,SALGRADE,EMPNO ENAME SAL - - - 7839 KING 5000 7698 BLAKE 2850 7782 CLARK 2450 7566 JONES 2975 7654 MARTIN 1250 7499 ALLEN 1600 7844 TURNER 1500 7900 JAMES 950 . 14 rows

7、 selected.,GRADE LOSAL HISAL - - - 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999,非等值连接,ENAME SAL GRADE - - - JAMES 950 1 SMITH 800 1 ADAMS 1100 1 . 14 rows selected.,SQL SELECT e.ename, e.sal, s.grade 2 FROM emp e, salgrade s 3 WHERE e.sal 4 BETWEEN s.losal AND s.hisal;,外连接,EMP,DEPT,ENA

8、ME DEPTNO - - KING 10 BLAKE 30 CLARK 10 JONES 20 .,DEPTNO DNAME - - 10 ACCOUNTING 30 SALES 10 ACCOUNTING 20 RESEARCH . 40 OPERATIONS,外连接,使用外连接查看不符合连接条件的记录. 外连接的操作符为加号 (+).,SELECT table.column, table.column FROM table1, table2 WHERE table1.column(+) = table2.column;,SELECT table.column, table.column

9、FROM table1, table2 WHERE table1.column = table2.column(+);,外连接,SQL SELECT e.ename, d.deptno, d.dname 2 FROM emp e, dept d 3 WHERE e.deptno(+) = d.deptno 4 ORDER BY e.deptno;,ENAME DEPTNO DNAME - - - KING 10 ACCOUNTING CLARK 10 ACCOUNTING . 40 OPERATIONS 15 rows selected.,自连接,EMP (WORKER),EMP (MANAG

10、ER),EMPNO ENAME MGR - - - 7839 KING 7698 BLAKE 7839 7782 CLARK 7839 7566 JONES 7839 7654 MARTIN 7698 7499 ALLEN 7698,EMPNO ENAME - - 7839 KING 7839 KING 7839 KING 7698 BLAKE 7698 BLAKE,自连接,WORKER.ENAME|WORKSFOR|MANAG - BLAKE works for KING CLARK works for KING JONES works for KING MARTIN works for B

11、LAKE . 13 rows selected.,SQL SELECT worker.ename| works for |manager.ename 2 FROM emp worker, emp manager 3 WHERE worker.mgr = manager.empno;,数据汇总,汇总,汇总函数操作结果集合给出运算结果.,EMP,“求EMP表中 salary列的最大值”,DEPTNO SAL - - 10 2450 10 5000 10 1300 20 800 20 1100 20 3000 20 3000 20 2975 30 1600 30 2850 30 1250 30 95

12、0 30 1500 30 1250,MAX(SAL) - 5000,汇总函数,AVG 平均值 COUNT 行数 MAX 最大值 MIN 最小值 STDDEV 标准偏差 SUM 和,汇总函数,SELECT column, group_function(column) FROM table WHERE condition ORDER BY column;,汇总函数,AVG(SAL) MAX(SAL) MIN(SAL) SUM(SAL) - - - - 1400 1600 1250 5600,例1:,SQL SELECT AVG(sal), MAX(sal), 2 MIN(sal), SUM(sal

13、) 3 FROM emp 4 WHERE job LIKE SALES%;,汇总函数,例2:,SQL SELECT MIN(hiredate), MAX(hiredate) 2 FROM emp;,MIN(HIRED MAX(HIRED - - 17-DEC-80 12-JAN-83,汇总函数,COUNT(*) - 6,SQL SELECT COUNT(*) 2 FROM emp 3 WHERE deptno = 30;,COUNT(*) 取得结果集合行数.,汇总函数,COUNT(列)取得结果集合中 当列非空的行数,SQL SELECT COUNT(comm) 2 FROM emp 3 WHE

14、RE deptno = 30;,COUNT(COMM) - 4,汇总函数,汇总函数忽略结果集合中的空值.,SQL SELECT AVG(comm) 2 FROM emp;,AVG(COMM) - 550,汇总,EMP,“取得每个部门 的平均工资值”,DEPTNO SAL - - 10 2450 10 5000 10 1300 20 800 20 1100 20 3000 20 3000 20 2975 30 1600 30 2850 30 1250 30 950 30 1500 30 1250,DEPTNO AVG(SAL) - - 10 2916.6667 20 2175 30 1566.6667,汇总,SELECT column, group_functio

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号