Oracle 数据库管理与应用:第6章 SELECT高级查询.pptVIP

Oracle 数据库管理与应用:第6章 SELECT高级查询.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle系统为了实现完整的关系数据库功能,专门提供了一组伪列。 这些列不是在建立对象时由我们完成的,而是由Oracle完成的。 ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列。它总是从1开始。 ?例6.31 查询emp表中平均薪水最高的部门的部门编号 (方法2) SELECT deptno FROM (SELECT deptno,AVG(sal) avg_sal FROM emp GROUP BY deptno ORDER BY avg_sal desc) where rownum=1 实验练习题 实验名称: SELECT高级查询 实验内容:见教材本章的实验和习题 (教材P133页 6.5实验+6.6习题 全做) * intersect英音:[,int?sekt] minus英音:[main?s] union英音:[ju:nj?n] 4.三个及更多表的外连接查询 三个及更多的表执行外连接查询和两表之间执行外连接查询原理是一样的。先将前两个表执行外连接查询,把查询结果再和第三个表执行外连接查询,以此类推。 例6.12 使用hr方案下的employees(雇员表)、departments(部门表)和locations(位置表),查询所有城市名称(city)、所有部门名称(department_name)、属于该部门的雇员编号(employee_id)。 SELECT employee_id,department_name,city FROM hr.employees e RIGHT OUTER JOIN hr.departments d ON e.department_id=d.department_id FULL OUTER JOIN hr.locations l ON d.location_id=l.location_id; SELECT sname,cname,grade FROM score sc FULL JOIN student s ON s.studentid=sc.studentid FULL JOIN course c ON sc.courseid=c.courseid; SELECT sname,cname,grade FROM score sc , student s, course c WHERE s.studentid=sc.studentid(+) AND sc.courseid=c.courseid(+); 6.2.3 交叉连接 交叉连接(CROSS JOIN)是用左表中的每一行与右表中的每一行进行连接,不能使用ON关键字。 SELECT * FROM emp CROSS JOIN dept; 注意:交叉连接没有ON关键字,但可以有WHERE子句。 6.3 SELECT查询的集合操作 集合操作就是将两个或多个SQL查询结果集合并到一起的复合查询语句 。 集合运算符包括: UNION INTERSECT MINUS 6.3.1 UNION集合运算 UNION运算符可以将多个查询结果集合并,形成一个结果集。 多个查询的列的数量必须相同 数据类型必须兼容,且顺序必须一致 其语法格式如下: SELECT_statement1 UNION [ ALL ] SELECT_statement2 UNION [ ALL ] SELECT_statement3 […n] 例6.14 使用UNION将工资大于2000的雇员信息与工作为MANAGER的雇员信息合并。 SELECT empno,ename,job,sal FROM emp WHERE sal2000 UNION SELECT empno,ename,job,sal FROM emp WHERE job=MANAGER; 注意:UNION操作符会消除两个结果集中重复的行 SELECT empno,ename,job,sal FROM emp WHERE sal2000 UNION ALL SELECT empno,ename,job,sal FROM emp WHERE job=MANAGER; 6.3.2 INTERSECT集合运算 INTERSECT集合运算获取两个结果集的交集 其语法格式如下: SELECT_statement1 INTERSECT SELECT_statement2 INTERSECT SELECT_statement3 […n] 例6.15 通过INTERSECT集合运算,查询工资大于2000,并且

您可能关注的文档

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档