- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle第7课
第7章 子查询一.子查询分类(一个查询的结果作为另一个查询的条件)1.无关子查询 单行子查询 多行子查询2.相关子查询二.详细介绍1. 无关子查询 (1) 单行子查询语法:select 列名 from 表名1,表名2 where 条件1 and 列名m 关系运算符(select 列名n from 表 where 条件)例:select sname,ssex,grade from student,scwhere student.sno=sc.sno and cno=1156and grade=(select max(grade) from sc where cno=1156)注意:子查询的返回值必须与条件中的列名一致。子查询结果必须是固定值例1:查询员工表中工资大于chen的员工信息select last_name,salary from employeeswhere salary(select salary from employees where lower(last_name)=chen)(2) 多行子查询语法:select 列名 from 表名1,表名2 where 条件1 and 列名m in/any/all (select 列名n from 表 where 条件)例:select * from employees where employee_id in (select manager_id from employees);注意:1.子查询的返回值及个数必须与条件中的列名及个数一致。子查询结果可以是多个值(可以是一个,但大部分是多个)2.子查询时如果列中含有null,那么可以正常使用in,但是不能直接使用not in(必须在子查询中排除null值的范围)题1:查询员工中谁是员工(蓝领,不是领导的)select * from employeeswhere employee_id not in(select manager_id from employees where manager_id is not null);题2:查询工资大于(部门id为100的员工的最高工资)的员工信息。方法一:单行子查询方式:select * from employeeswhere salary(select max(salary) from employees where department_id=100);方法二:allselect * from employees where salaryall(select salary from employees where department_id=100)题3:查询工资大于(部门id为100的任意员工的工资)的员工信息。方法一:单行子查询方式:select * from employeeswhere salary(select min(salary) from employees where department_id=100);方法二:allselect * from employees where salaryany(select salary from employees where department_id=100)注意:所有nall(1,2,3) ? n3nall(1,2,3) ? n1任意nany(1,2,3) ? n1nany(1,2,3) ? n3题3:每个系年龄最大的学生select * from student where (sage,sdept) in (select max(sage),sdept from student group by sdept);2 .相关子查询(子查询中的条件中用到了外部表的信息)语法:select 列名 表名 别名1 where 列名=(select 列名 from 表名 别名2 where 表别名1.列名=表别名2.列名)例:select * from student a where sage=(select max(b.sage) from student b where b.sdept=a.sdept);题1:求每个部门的最小工资select * from employees ewhere e.salary=(select min(salary) from employees e2 where e2.department_id=e.department_id)三. exists 和 not exists语法:select 列名 from 表1 别名1 where exists (select *|列名 from 表2 别名2 where 表别名2.列名=表2别名.列名);例:select
您可能关注的文档
最近下载
- 资料员工作内容.docx VIP
- P气瓶充装证考试题库及答案.doc VIP
- 上海市杨浦区2023-2024学年七年级下学期期中英语试卷 .docx VIP
- 2025年高考真题解析课件:2025年全国新高考二卷英语读后续写(课件).pptx VIP
- 贵阳市中心城区控制性详细规划(总则)——乌当组团.pdf VIP
- 图书出版合同(合同范本)7篇.docx VIP
- (正式版)D-L∕T 1770-2017 抽水蓄能电站输水系统充排水技术规程.docx VIP
- 《结构全寿命维护》课程教学大纲(本科).docx VIP
- SI、PI协同的EMI分析—打印版.pdf
- Unit2 Travelling Around Discovering Useful Structures 课件-2024-2025学年高中英语人教版(2019)必修第一册.pptx VIP
原创力文档


文档评论(0)