- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 创建数据库 重点内容: 创建数据库和表 列约束 创建索引 修改数据库和表 删除数据库和表 * SQL实用简明教程 * 新世纪网页设计师应用教程 第1章 网页设计基础 重点内容: 网页的设计构思和布局 站点的规划与设计流程 主页的基本制作流程 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 一、子查询定义 子查询(subquery)就是嵌套在另一个查询语句中的SELECT语句,那个外部的查询语句称作为该子查询的外围查询,而这个子查询则称为被嵌套查询。子查询的结果将作为外围查询的参数,这种关系就好像我们的函数调用的嵌套,将一个函数调用作为另一个函数的输入参数。 子查询的外围查询可以是多种SQL语句:子查询可以嵌套在另一个SELECT语句的FROM子句、WHERE子句或者是HAVING子句中,它还可以嵌套在INSERT语句、UPDATE语句和DELETE语句中,甚至子查询的外围查询也可以是一个子查询,即嵌套子查询。 子查询具有两种不同处理方式的类型:子查询的两种不同处理方式的类型是:相关子查询(correlated subquery)和无关子查询(noncorrelated subquery)。无关子查询语句的运行和它的外围查询关系密切,而无关子查询运行是不需要和外围查询发生联系。 子查询有多种用途:随着子查询返回的数据类型的不同,它的用途也随着发生变化。 二、子查询和连接 在实际的SQL语句的编写中,需要在多个表的基础上运行一个查询语句的情况也是很常见的。在这两种情况下,可以在查询语句编写中使用表的自连接和连接,也可以使用子查询。一般来说,这两种结构的查询语句的结果是相同的,性能也差不多,选用哪种方式可以依据自己的习惯。 当需要使用聚集函数,并将它的值和其它值进行比较时,要使用子查询;当查询的结果要显示多个表的内容时,要使用连接。在其它的子查询和连接可以相互替换的情况下,由于性能相近,使用何种方式就依赖个人的风格习惯了。 三、子查询类型 1、无关子查询 无关子查询是这样的一种查询,它在外围查询之前执行,然后返回数据供外围查询使用,它和外围查询的联系仅此而已。在编写嵌套了子查询的SQL语句时,如果被嵌套的查询中不包含对于外围查询的任何引用,就可以使用无关子查询。编写无关子查询的方式有很多种,最常见的是在IN子句中嵌套。 SELECT select_list FROM table_name[, table_name, ...] WHERE column_name IN (SELECT [DISTINCT] column FROM table_name [WHERE condition]) 三、子查询类型 2、相关子查询 相关子查询和无关子查询的定义是相对的。它是这样的一种查询,在该子查询执行时要使用到外围查询的数据。子查询执行结束后再将它的查询结果返回到它的外围查询中,供外围查询比较使用。 SELECT dno Department, name Manager FROM Employee e WHERE 0 = ANY (SELECT MONTHS_BETWEEN(mgrstrdate, ’2002-01-01’) FROM Department WHERE e.id = mgrid) 四、子查询的规则 使用子查询的限制主要是指对子查询的SELECT列表和子查询中对函数指定的一些限制。 (1)由比较运算符或关键字IN引入的内层子查询的SELECT列表中只允许有一项内容,即只能是一个列名或表达式。而且在子查询的SELECT列表中命名的列必须能与在外围语句的WHERE子句中命名的列连接兼容。 (2)在使用关键字EXISTS引入的子查询的SELECT列表中不需要指定具体的列名,可以都由星号“*”组成,这是因为这种情况下只需要测试任何一个符合标准的行的存在。或者也可以在子查询的WHERE子句中加入行的限定语句。 (3)子查询不能包括ORDER BY子句,因为子查询不需要在内部处理它们的查询结果。但是使用关键字DISTINCT也可以有效地对查询结果进行排序,因为一些系统是通过首先给结果排序来消除复制的。 (4)由后面不跟关键字ANY或ALL的比较运算符所引入的子查询除非预先确定了它只能成组返回单个的值,否则不允许使用GROUP BY或HAVING子句。 五、返回多个值的子查询 1、IN的使用 在IN子句中,子查询和手动输入一组数据的区别就在于,我们手动输入时,一般都会输入两个或两个以上
您可能关注的文档
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch16.ppt
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch17.ppt
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch18.ppt
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch19.ppt
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch20.ppt
- 新SQL Server 2005基础教程 教学课件 978 7 302 14848 7 ch21.ppt
- 新SQL Server 2005数据库应用与开发教程教学课件 978 7 302 16021 2 ch01.ppt
- 新SQL Server 2005数据库应用与开发教程教学课件 978 7 302 16021 2 ch02.ppt
- 新SQL Server 2005数据库应用与开发教程教学课件 978 7 302 16021 2 ch03.ppt
- 新SQL Server 2005数据库应用与开发教程教学课件 978 7 302 16021 2 ch04.ppt
- 新SQL实用简明教程(课件) 教学课件 7 302 08932 9k CHAP09.ppt
- 新SQL实用简明教程(课件) 教学课件 7 302 08932 9k CHAP10.ppt
- 新SQL实用简明教程(课件) 教学课件 7 302 08932 9k CHAP11.ppt
- 新SQL实用简明教程(课件) 教学课件 7 302 08932 9k CHAP12.ppt
- 新SQL实用简明教程(课件) 教学课件 7 302 08932 9k CHAP13.ppt
- 新STM8S系列单片机原理与应用 教学课件 潘永雄 第1 5章 第1章.ppt
- 新STM8S系列单片机原理与应用 教学课件 潘永雄 第1 5章 第2章.ppt
- 新STM8S系列单片机原理与应用 教学课件 潘永雄 第1 5章 第3章.ppt
- 新STM8S系列单片机原理与应用 教学课件 潘永雄 第1 5章 第4章.ppt
- 新STM8S系列单片机原理与应用 教学课件 潘永雄 第1 5章 第5章.ppt
最近下载
- 中国移动2018年校园招聘考试笔试题目考试试卷-历年考试真题.doc VIP
- 基础会计洑建红习题答案(新税率).doc VIP
- 蟑螂防治_六_不同场所蟑螂的防治.docx VIP
- 人民大2023商务英语视听说(第1册)(第二版)PPTUnit 8 Work and Life.pptx VIP
- 医美皮肤美容产品芙语诺专业知识课件.pdf VIP
- 跨文化交际:中英文化对比 (14).ppt VIP
- 《乳腺癌术后康复锻炼课件》.ppt VIP
- 科研经费管理规定.docx VIP
- 鲁科版四年级上册劳动项目一 清洁与卫生——班级卫生大扫除(课件).pptx VIP
- 2025年秋学期人教版初中数学八年级上册教学计划教学进度表.docx VIP
文档评论(0)