第04章 SQL Server与数据查询.pptVIP

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第04章 SQL Server与数据查询.ppt

* * * * * * * * * * * 4.4.3 集合查询 1、并操作查询。标准SQL提供了并操作运算命令UNION,将多个SELECT语句的结果进行传统的集合并操作。但这个操作要求参加UNION操作的各个结果表的列数必须相同且对应属性的数据类型也相同。 2、标准SQL中没有直接提供集合的交和差的操作,但可用其它条件查询来实现 4.4.3 集合查询 例 查询计算机科学系的学生或年龄不大于20岁的学生信息。 SELECT * FROM Student WHERE SDept=计算机 UNION SELECT * FROM Student WHERE SAge=20 本查询实际上是求计算机科学系的所有学生或年龄不大于20岁的学生的并集。使用UNION将多个查询结果合并起来时,系统会自动去掉重复的元组。 注意:参加UNION操作的各结果表的列数必须相同且对应属性的数据类型也必须相同。 4.4.3 集合查询 例 查询数学系的学生与年龄不大于20岁的学生的差集。 本查询的等价说法是,查询数学系中年龄大于20岁的学生。 SELECT * FROM Student WHERE SDept=计算机 AND SAge20 提示:可以使用EXCEPT实现集合的差操作运算,用法同UNION。 4.5 实例与分析 实例1 仓库管理 实例2 SQL的集合处理方式与宿主语言 实例3 在宿主语言中如何使用游标机制 实例4 书店管理 实例1 仓 库 管 理 仓库管理关系模型中有如下5个关系模式: 零件: PART(P#,Pname,Color,Weight) 项目: PROJECT(J#,Jname,Pdate) 供应商:SUPPLIER(S#,SName,Saddr) 供应: P_P(J#,P#,Total) 采购: P_S(P#,S#,Quantity) 实例1 仓 库 管 理----问题 (1)试用SQL的DDL语句定义上述5个基本表,并说明主码和外码。 (2)试将PROJECT、P_P、PART3个基本表的自然联接定义和一个视图VIEW1,PART,P_S,SUPPLIER这3个基本表的自然联接定义为一个视图VIEW2。 (3)检索上海的供应商所供应的零件的编号和名字。 (4)检索项目J4所用零件的供应商的编号和名字。 实例1 仓 库 管 理----分析 分析: 本实例主要运用SQL语言定义基本表、视图和表示查询需求等命令及其有关概念的理解和应用能力。 实例1 仓 库 管 理----解答(1) (1) CREATE TABLE PART(P# CHAR(6) PRIMARY KEY, Pname CHAR(10) NOT NULL, Color CHAR(6), Weight FLOAT(5)) CREATE TABLE PROJECT(J# CHAR(6) PRIMARY KEY, Jname CHAR(12) NOT NULL, Pdate DATE) CREATE TABLE SUPPLIER(S# CHAR(8) PRIMARY KEY, Snane CHAR(12) NOT NULL, Saddr VARCHAR(30)) 实例1 仓 库 管 理----解答(1) CREATE TABLE P_P( J# CHAR(6) REFERENCES PROJECT(J#), P# CHAR(6) REFERENCES PART(P#), Total INTEGER, PRIMARY KEY(J#,P#)) CREATE TABLE P_S( P# CHAR(6) REFERENCES PART(P#), S# CHAR(8) REFERENCES SUPPLIER(S#), Quantity INTEGER, PRIMARY KEY(P#,S#)) 实例1 仓 库 管 理----解答(2) (2) CREATE VIEW VIEW1 AS SELECT PROJECT.*, P_P.P#, P_P.Total, PART.Pname, PART.Color, PART.Weight FROM PROJECT, P_P, PART WHERE PROJECT.J#=P_P.J# AND P_P.P#=PART.P# CREATE VIEW VIEW2 AS SELERCT PART.*, P_S.Quantity,SUPPLIER.SName, SUPPLIER .Saddr FROM PART, P_S, SUPPLIER

文档评论(0)

zhangchao11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档