- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL第5章续
第五章 SQL查询语句 5.4嵌套查询 在SQL语言中,一个查询块可以嵌套在另外一个查询块的WHERE子句中,称这种查询为嵌套查询。嵌套查询的求解是由里向外处理。即先处理内层查询,再处理外层查询 5.4.1带有IN的子查询 如果在嵌套查询中的子查询结果是多条记录,可以使用特殊运算符IN。 5.4.2带有ANY或ALL的子查询 当子查询返回值为值时,可使用比较运算符。SQL提供了两个必须和比较运算符搭配才能使用的ANY和ALL运算符。 5.4.2带有ANY或ALL的子查询 use ccj select money from product where name=彩电‘ select * from product where money any (select money from product where name=彩电) select * from product where money all (select money from product where name=彩电) 5.4.3带有EXISTS的子查询 EXISTS代表“存在”,只查找满足条件的那些记录,一旦找到第一个匹配的记录后,马上停止查找。其子查询不返回任何记录,只产生逻辑值“真”或者逻辑值“假”,即找到或者没有找到的含义。 EXISTS采用的既不是等号也不是IN,且它作用的不是列之间的关系,而是表之间的关系。因此,在SELECT列表中不需要指定字段名,通常用SELECT *来代替。 使用EXISTS后,若内层查询结果为非空,则外层的WHERE子句返回真值“TRUE”,否则返回假 “FALSE”。 5.4.3带有EXISTS的子查询 use ccj select name,money from product where exists (select * from product_a where id=product.id and 满意情况=优秀) 5.4.4在WHERE子句中使用集合函数 5.5 UNION查询 5.6 INTO子句 使用SELECT和INTO子句可以使SELECT语句在运行过程中,创建一个永久或临时表,它由结果表中的记录组成,而不是将输出结果表返回给用户;新创建表的结构有SELECT列表本身定义,新表的列顺序与SELECT列表中的顺序也相同,列名及数据类型也由SELECT列表确定。 5.7数据更新 5.7.1插入子查询结果 use ccj insert into caidian(name,money) select name,money from product where money2000 select * from caidian 5.7.2带子查询的修改语句 use ccj update product set money=money-20 where 良好=(select 满意情况 from product_a where id=product.id) select * from product 5.7.3带子查询的删除语句 use ccj delete from product where 很差=(select 满意情况 from product_a where id=product.id) select * from product 5.7.4更新操作与一致性问题 在对多个表进行操作时,特别是更新操作,将引起一些新的问题。 要在数据库中删除一名学生,如果只是在学生表中删除其记录,那么在成绩表中存有的记录为无效记录,这时数据库处于不一致状态。 如果要保持数据库的一致性状态就必须删除数据库中所有与该名学生有关的记录。 小结 本章讨论了SELECT语句可以实现的主要查询功能,内容包括:SELECT语句概述;基于单表的查询;基于多表的查询;嵌套查询;UNION查询;INTO子句;数据更新。 作业和实验报告 * * 5.1 SELECT 语句 5.2 基于单表的查询 5.3 基于多表的查询 5.4 嵌套查询 5.5 UNION查询 5.6 INTO子句 5.7 数据更新 use ccj select * from product where id=(select id from product_a where 满意情况=良好) use ccj select * from product where id in (select id from product_a where 满意情况=‘优秀) use ccj select name,money fro
文档评论(0)