SQL Server 2012 数据库教程第4章 数据库的查询、视图.ppt

SQL Server 2012 数据库教程第4章 数据库的查询、视图.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

4.1.8其他:INTO/UNION/EXCEPT/CTE1.INTO使用INTO子句可以将SELECT查询所得的结果保存到一个新建的表中。INTO子句的格式为:[INTO新表]其中,“新表”是要创建的新表名。【例4.51】由xsb表创建“计算机学生”表,包括学号和姓名。SELECT学号,姓名INTO计算机系学生FROMxsbWHERE专业=计算机4.1.8其他:INTO/UNION/EXCEPT/CTE2.UNION使用UNION子句可以将两个或多个SELECT查询的结果合并成一个结果集,其格式为:{查询规范|(查询表达式)}UNION[ALL]查询规范|(查询表达式)[UNION[ALL]查询规范|(查询表达式)[…]]其中,查询规范和查询表达式都是SELECT查询语句。使用UNION组合两个查询的结果集的基本规则是:(1)所有查询中的列数和列的顺序必须相同;(2)数据类型必须兼容。4.1.8其他:INTO/UNION/EXCEPT/CTE【例4.52】在“计算机学生”表和“通信工程学生”表查找学号为191301和学号为221301的两位同学的姓名。SELECT*FROM计算机学生WHERE学号=191301UNIONALLSELECT*FROM通信工程学生WHERE学号=221301执行结果如图4.21所示。4.1.8其他:INTO/UNION/EXCEPT/CTE3.EXCEPT和INTERSECTEXCEPT和INTERSECT用于比较两个查询的结果,返回非重复值。语法格式如下:{查询规范|(查询表达式)}{EXCEPT|INTERSECT}{查询规范|(查询表达式)}其中,查询规范和查询表达式都是SELECT查询语句。使用EXCEPT和INTERSECT比较两个查询的规则和UNION语句一样。【例4.53】查找专业为计算机但性别不为男的学生信息。SELECT*FROMxsbWHERE专业=计算机EXCEPTSELECT*FROMxsbWHERE性别=1执行结果如图4.22所示。4.1.8其他:INTO/UNION/EXCEPT/CTE【例4.54】查找总学分大于42且性别为男的学生信息。SELECT*FROMxsbWHERE总学分42INTERSECTSELECT*FROMxsbWHERE性别=14.1.8其他:INTO/UNION/EXCEPT/CTE4.CTE在SELECT语句的最前面可以使用一条WITH子句来指定临时结果集,语法格式如下:[WITH公用表表达式[,...]]SELECT......其中:公用表表达式::=表达式名?[(列名[,...])]AS?(CTE查询定义)4.1.8其他:INTO/UNION/EXCEPT/CTE【例4.55】使用CTE从cjb表中查询选择101号课程的学生学号、成绩,并定义新的列名为number、point。再使用SELECT语句从CTE和xsb中查询姓名为“王林”的学生学号和成绩情况。代码如下,执行结果如图4.23所示。USEpxscjGOWITHcte_stu(number,point)AS(SELECT学号,成绩FROMcjbWHERE课程号=101)SELECTnumber,pointFROMcte_stu,xsbWHERExsb.姓名=王林ANDxsb.学号=cte_stu.number4.2视图4.2.1视图概念视图一经定义以后,就可以像表一样被查询、修改、删除和更新。使用视图有下列优点。(1)为用户集中数据,简化用户的数据查询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户进行数据查询和处理。(2)屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。(3)简化用户权限的管理。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。(4)便于数据共享。各用户不必都定义和存储自己所需的数据,而可共享数据库的数据,这样,同样的数据只需存储一次。

文档评论(0)

zhhg001hkdl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档