- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级子查询 目标 通过本章学习,您将可以: 书写多列子查询 子查询对空值的处理 在 FROM 子句中使用子查询 在SQL中使用单列子查询 相关子查询 书写相关子查询 使用子查询更新和删除数据 使用 EXISTS 和 NOT EXISTS 操作符 使用 WITH 子句 子查询 子查询是嵌套在 SQL 语句中的另一个SELECT 语句 子查询 子查询 (内查询) 在主查询执行之前执行 主查询使用子查询的结果 (外查询) 子查询应用举例 多列子查询 列比较 多列子查询中的比较分为两种: 成对比较 不成对比较 成对比较举例 不成对比较举例 在 FROM 子句中使用子查询 单列子查询表达式 单列子查询表达式是在一行中只返回一列的子查询 Oracle8i 只在下列情况下可以使用, 例如: SELECT 语句 (FROM 和 WHERE 子句) INSERT 语句中的VALUES列表中 Oracle9i中单列子查询表达式可在下列情况下使用: DECODE 和 CASE SELECT 中除 GROUP BY 子句以外的所有子句中 单列子查询应用举例 在 CASE 表达式中使用单列子查询 相关子查询 相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询 相关子查询 相关子查询举例 相关子查询举例 EXISTS 操作符 EXISTS 操作符检查在子查询中是否存在满足条件的行 如果在子查询中存在满足条件的行: 不在子查询中继续查找 条件返回 TRUE 如果在子查询中不存在满足条件的行: 条件返回 FALSE 继续在子查询中查找 EXISTS 操作符应用举例 NOT EXISTS 操作符应用举例 相关更新 使用相关子查询依据一个表中的数据更新另一个表的数据 相关更新应用举例 相关删除 相关删除应用举例 WITH 子句 使用 WITH 子句, 可以避免在 SELECT 语句中重复书写相同的语句块 WITH 子句将该子句中的语句块执行一次 并存储到用户的临时表空间中 使用 WITH 子句可以提高查询效率 WITH 子句应用举例 总结 通过本章学习,您已经可以: 使用多列子查询 多列子查询的成对和非成对比较 单列子查询 相关子查询 EXISTS 和 NOT EXISTS操作符 相关更新和相关删除 WITH子句 Hidden Slide Schedule: Timing Topic 60 minutes Lecture 50 minutes Practice 110 minutes Total Lesson Aim In this lesson, you learn how to write multiple-column subqueries and subqueries in the FROM clause of a SELECT statement. You also learn how to solve problems by using scalar, correlated subqueries and the WITH clause. What Is a Subquery? A subquery is a SELECT statement that is embedded in a clause of another SQL statement, called the parent statement. The subquery (inner query) returns a value that is used by the parent statement. Using a nested subquery is equivalent to performing two sequential queries and using the result of the inner query as the search value in the outer query (main query). Subqueries can be used for the following purposes: To provide values for conditions in WHERE, HAVING, and START WITH clauses of SELECT statements To define the set of rows to be inserted into the target table of an INSERT or CREATE TABLE statement To define the set of rows to be included in a
文档评论(0)