- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle高级SQL培训与讲解
Oracle高级SQL培训与讲解
李康康 liakngkang@126.com QQ:353730289
With子句
学习目标
掌握with子句用法,并且了解with子句能够提高查询效率的原因。
With子句要点
with子句的返回结果存到用户的临时表空间中,只做一次查询,反复使用,提高效率。
如果定义了with子句,而在查询中不使用,那么会报ora-32035 错误:未引用在with子句中定义的查询名。
前面的with子句定义的查询在后面的with子句中可以使用。但是一个with子句内部不能
嵌套with子句。
当一个查询块名字和一个表名或其他的对象相同时,解析器从内向外有哪些信誉好的足球投注网站,优先使用子查询块名字。
with查询的结果列有别名,引用的时候必须使用别名或*。
with有可能影响执行计划。
with子句语法
With alias_name as (select1), --as和select中的括号都不能省略
alias_name2 as (select2),--后面的没有with,逗号分割,同一个主查询同级别地方,with子
查询只能定义一次
…
alias_namen as (select n) –与下面的实际查询之间没有逗号
Select ….
with使用例子:
最简单的使用方法:
如查询部门名称包含“A”的所有员工信息
--with clause
with a as
(select deptno from dept where dname like %A%)
select * from emp where deptno in (select * from a);
with a as
(select deptno from dept where dname like %A%),--a结果集
a2 as(select * from a where deptno20)--a1结果集直接从a中筛选
select * from emp where deptno in (select * from a2);
多层同级只能用一个with,并且后面的结果集可以使用前面的结果集:
查询部门名称包含“A”并且部门编号大于20的所有员工信息
with a as
(select deptno from dept where dname like %A%),--a结果集
a2 as(select * from a where deptno20)--a1结果集直接从a中筛选
select * from emp where deptno in (select * from a2);
不同级查询可以使用多个with:
查询部门名称包含“A”并且部门编号大于20的所有员工信息的另外一种实现方式如下
with a as
(select deptno from dept where dname like %A%)--a结果集
select * from emp where deptno in (--括号内层作为子查询,为第二级
with a2 as(select * from a where deptno20)--a1结果集直接从a中筛选
select * from a2
);
使用场景
那什么情况下能使用到with子句呢?以下我就举几个简单的例子,简单的说明以下:
我想测试一句sql,而我不想专门建立一个测试表:
我想测试成绩大于90的学生,我不想建立学生表,可以用到with子句
with stu as(
select 张娜 sname,99 score from dual union
select 王杰 ,35 from dual union
select 宋丽 ,85 from dual union
select 陈晓 ,73 from dual union
select 李元 ,100 from dual
)--with 组成一个临时的结果集,存放在用户的临时表空间
select * from stu where score90
当一个sql重复用到某个相同的结果集作为子查询:
--查询销售部工资1500或者销售部工资小于1000的员工
select * from emp where deptno=(select deptno from dept where dname =SALES) and sal 1500
union all
select * from emp where deptno=(select deptno from dept where dname =SALES) and sal 1000
--以上sql select deptno from dept where dname =S
您可能关注的文档
- H细胞的基本结构单元测验C.doc
- HDMICable报告.doc
- GDPU信管ERP复习重点.doc
- Intecad2010图库管理.doc
- InstallShield脚本语言基础.docx
- IPC信噪比测试SNR.doc
- internet的接入以及网络信息的获取教案.doc
- iMC产品升级业务指导书V155.doc
- Hyper-VServer2008R2安装配置管理.docx
- ITO导电玻璃检验标准.doc
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
最近下载
- 刍议核心素养理念下小学道德与法治情境教学研究-来源:中国校外教育(第2020022期)-中国儿童中心.pdf VIP
- 屋顶分布式光伏发电项目可行性研究报告2.doc
- QC诊断师培训分享试题.docx
- 结题鉴定表.doc
- 北师大版七上《去括号》说课稿2.pdf
- 对被执行人的拘留申请书.docx VIP
- 黑龙江省齐齐哈尔市铁峰区2023-2024学年九年级上学期期中考试英语试题.pdf VIP
- 肾脏疾病生活质量简表(KidneyDiseaseQualityofLifeshortForm1.3,KDQOL-SFTM1.3).pdf
- 《税法》说课课件.pptx VIP
- ASTM C231_C231M-24 Standard Test Method for Air Content of Freshly Mixed Concrete by the Pressure Method 用压力法测定新拌混凝土中空气含量的标准试验方法.pdf
文档评论(0)