sqlserver教程第六章.pptVIP

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

第6章 数据检索;6.1 SQL概述 ;6.1 SQL概述;操作对象 ;1.一般语法格式 SELECT 目标列表达式 FROM 表名 …… 2.演示【例1】 ,注意【思考】! 3.自己看 【例2】 ,同学演示,分析结果 4. 【例3】消除重复行。 了解关键字 ALL|DISTINCT ; 控制在查询的结果中显示重复行,可以按照如下的语法书写: SELECT ALL|DISTINCT 目标列表达式 FROM 表名 …… ALL关键字是默认的, DISTINCT消除重复列 。 【练习】显示课程表中教师姓名,尝试去掉重复行(一个教师可能教授多门课程)。;5、重新命名列标题 学习【例4】 ,总结得到一般格式 SELECT table_list AS new_name …… 6、【练习】 Select 班级号=ClaNo ,班级名称=ClaName , 所属系部=Department,人数=Number From Class ;7、综合运用 【例】查询所有学生的年龄。;; WHERE子句作为查询的限定条件是可选的,但在使用时必须接在FROM子句之后,用来限定查询结果。 【例8】查询出生时间在1988年以后的学生的情况。 Select * from Student where Birthday=1989-1-1 ;【例9】查询男生中备注列不为空的学生的情况 【 分析】本题目有两个要求,一是性别为“男”,二是备注列不为空。 Select StuNo,StuName,Sex,Notes from Student where Sex=男 AND Notes IS NOT NULL 自学【例10 】; GROUP BY子句指定对查询单结果分组的条件,并且如果SELECT子句中包含了聚合函数,则计算每组的汇总值。 【例11】查询班级表Class中每个系的总人数。 Select Department,SUM(Number) as 人数 from Class GROUP BY Department ;【相似】 和SUM( )相似的聚合函数还有求平均值的AVG( )函数,求最大值的MAX( ),求最小值的MIN( )以及计算行数的COUNT()函数。 【例12】查询学生表Student中总共的学生数。 Select count(*) as 总人数 from Student 自学 【例13 】,完成之后的“思考”; HAVING子句和WHERE子句类似,后面都是跟选择的条件。使用HAVING子句必须是在使用GROUP BY的前提下,HAVING对分组的结果进行筛选,不满足条件的不显示出来。 【例11】选课表(成绩表)中存在一个学生选修多门课程的情况,查询每个学生所选课程的平均成绩。要求只显示平均成绩在80分以上(含80分)的学生信息。 【分析】只需要在例10的结果集中筛选,将平均成绩在80分以下的信息不予显示。 ;Select StuNo,AVG(Grade)as average from Score group by StuNo Having AVG(Grade)=80 【思考与练习】既然HAVING子句和WHERE子句后面都是跟选择的条件,那么可以把本例中的HAVING子句后的条件写到WHERE上吗,试试看! 【例12】查询每门课程的选修人数,包括课程编号和选修人数,只显示选修人数大于5人的情况。;【分析】查询选修人数实际就是看成绩表Score中同一门课程号对应有几个学号(或者几个成绩)。要用到分组和筛选。 Select CouNo,count(StuNo) as 选修人数 from Score group by CouNo having count(StuNo)5 【注意】凡是要对聚合函数用比较运算符(,,!=,=,=),条件必须放在HAVING子句。 ; 如果要将数据按某列的顺序显示出来,就必须使用ORDER BY排序。ORDER BY使用两个保留字ASC 和DESC,ASC是按升序(递增)排列,DESC是按照降序(递减)排列,默认的排序顺序是升序排列(A-Z,a-z,0-9). 【例12】查询班级表Class中所有班级的名称和人数。将查询的结果按照人数的升序排列。 Select ClaName,Number from Class order by Number ASC ;【思考与联系】在排序列出现有NULL值的时候,如果按升

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档