第五章TransactSQL数据查询与更新.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  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文档。上传文档
查看更多
第五章TransactSQL数据查询与更新

上海应用技术学院 上海应用技术学院 第五章 Transact-SQL数据查询与更新 HAVING子句和WHERE子句很相似,均用于设置数据筛选条件。 WHERE子句对分组前的数据进行筛选,条件中不能包含聚合函数; HAVING子句对分组过后的数据进行筛选,条件中经常包含聚合函数。 HAVING子句必须和GROUP BY子句联合使用 例:查询学生基本信息表中“回族”,“蒙古”两个民族的学生人数 Select 族别,count(*) as 人数 from 学生基本信息表 group by 族别 having 族别 in(‘回族’,’蒙古’) § 5.3 联接查询 提高:? 利用“系部表”和“课程信息表”,统计不同系的课程安排数目,显示输出系部名称和课程数目(参照课件中from中派生表的用法) (select 系部编号,count(*) as 课程数 from 课程信息表 group by 系部编号) as 课程表 select 系部名称,课程数 from 系部表 inner join on 系部表.系部编号=课程表.系部编号 § 5.3 联接查询 提高:利用“成绩表”和“学生基本信息表”,统计平均分小于80的学生名单和平均分(参照课件中from中派生表的用法) (select 学号,avg(成绩) as 平均分 from 成绩表 group by 学号 having(avg(成绩)80)) as 成绩二 select 姓名,成绩二.平均分 from 学生表 inner join on 成绩二.学号=学生表.学号 select 姓名,成绩二.平均分 from 学生表 inner join (select 学号,avg(成绩) as 平均分 from 成绩表 group by 学号) as 成绩二 on 成绩二.学号=学生表.学号 WHERE 平均分80 § 5.3 联接查询 (3)使用等号以外的运算符的联接 select * from 课程信息表,成绩表 where 课程信息表.课程编号成绩表.课程编号 交叉联接 例:交叉联接系部表和课程信息表 Select * from 系部表,课程信息表 Select * from 系部表 cross join 课程信息表 ? 注:如果在交叉联接后面添加一个where子句,它的作用就跟内联接一样了. § 5.3 联接查询 自联接: 例 查学生基本信息表中,同名同姓的情况 Select a1.* from 学生基本信息表 as a1,学生基本信息表 as a2 Where a1.姓名=a2.姓名 and a1.学号a2.学号 思考:查询课程信息表中同一门课程任课教师情况 Select a1.* from 课程信息表 as a1 inner join 课程信息表 as a2 on a1.课程名称=a2.课程名称 and a1.课程编号a2.课程编号 § 5.3 外联接例题 60 005 85 004 80 003 78 002 89 001 成绩 学号 团员 赵强 009 群众 曹阳 006 团员 曾巧玲 005 团员 陈丽 002 党员 张小军 001 政治面貌 姓名 学号 成绩表 档案表 查询学生的学号,姓名,成绩,通过三种联接方式,请说出左联接,右联接,完整外部联接的结果 § 5.3 外联接例题 ? 例:用DAN表和CJ表分别左联接、右联接、完整联接。 左联接 SELECT DAN.学号,姓名,成绩 FROM DAN LEFT OUTER JOIN CJ ON DAN.学号=CJ.学号 ? 右联接 SELECT CJ.学号,姓名,成绩 FROM DAN RIGHT OUTER JOIN CJ ON DAN.学号=CJ.学号 § 5.3 外联接例题 完整外部联接 SELECT DAN.学号,姓名,成绩 FROM DAN FULL OUTER JOIN CJ ON DAN.学号=CJ.学号 § 5.3 联接查询 5、 多表联接 虽然每个联接规范只联接两个表,但 FROM 子句可包含多个联接规范。这样一个查询可以联接若干个表。 例:利用课程信息表,成绩表, 学生基本信息表显示学生的学号,姓名,课程名称,成绩 select 成绩表.学号,姓名, 课程名称,成绩 from 课程信息表 in

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档