oracle复杂查询语句的使用.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle复杂查询语句的使用

复杂查询语句的使用 在关系数据库中,select 语句是使用最频繁的语句。它的处理复杂程度可依据业务的要求的不同而不同。它是程序员和管理员必需的语句。前面已经进行过介绍,但下面从较为复杂的程度来介绍它的使用情况。 §7.1 复杂查询语句的使用 使用SELECT语句和子查询(SUBQUERY)可以从一个或多个表、视图、实体视图中返回数据。 §7.1.1 相关子查询 可以将子查询(前面提到的 as subquery )或In 或 exists当成 where 的一个条件的一部分,这样的查询称作子查询。 where中可以包含一个select语句子查询; where中可以包含IN, EXISTS 语句; 最多可嵌套16层; 层数过多会影响性能。 例:比如一个查询是否有专家既以研究所的名义申请基金项目又以大学系为单位申请项目(按规定只能以一个单位来申请): SQLselect name,per_id,dept_name from univ_subjects Where per_id in ( select per_id from colle_subjects ); §7.1.2 外连接 招生中,如果所有学生的信息放在 students 表中,而部分有特长的学生在另一个表student_skill 中同样有该学生信息。现在要全部列出所有学生,如果某个学生在表student_skill 中有其特长信息,就显示特长内容,如果某个学生没有特长(在表student_skill 中无其特长信息)就显示特长为空: SQLselect a.st_id, name, age,skill from students a, student_skill b Where a.st_id=b.st_id(+) Order by a.name; Students 结构为: St_id varchar(20), Name varchar2(10), Age number(2), Tot_score number(3), ... ... Student_skill 结构为: St_id varchar(20), Skill varchar2(20), ... ... Students 的记录,Student_skill的记录少。上面的“+”跟在记录少的表后面,它表示当没有与a.st_id 匹配时就为 b.st_id增加一空行。 St_id name tot_score skill ---------- ---------- ------------- ------------------ 1111 aaaa 600 足球 2222 bbbb 590 篮球 3333 cccc 620 4444 dddd 610 跳高 ... ... §7.1.3 自我连接 自我连接是在同一个表或视图内进行条件连接。下面语句返回的是每个雇员的名字及该雇员的经理的名字: SELECT e1.ename||’ works for ’||e2.ename Employees and their Managers FROM emp e1, emp e2 WHERE e1.mgr = e2.empno; Employees and their Managers ------------------------------- BLAKE works for KING CLARK works for KING JONES works for KING FORD works for JONES SMITH works for FORD ALLEN works for BLAKE WARD works for BLAKE MARTIN works for BLAKE SCOTT works for JONES TURNER works for BLAKE ADAMS works for SCOTT JAMES works for BLAKE MILLER works for CLARK 连接条件是 e1.mgr = e2.empno §7.1.4 UNION,INTERSECT及MINUS 有时需要从多个表中组合具有一种相似类型的信息。Union 可以完成将两个以上的表的相类似的查询结果合并在一起,并且相同的只取其一;如果union all 则表示返回所有行(不管是否重复)。Interse

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档