- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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值的时候,如果按升
您可能关注的文档
最近下载
- 江铜产融2025年度社会招聘笔试历年参考题库附带答案详解.docx
- 销售管理(第6版)建立销售渠道.ppt VIP
- 1.2《大数的认识大数的读法与写法》(教学课件)四年级数学上册北京版.pptx
- 2022十八项医疗核心制度之会诊制度培训(精华版).ppt VIP
- 基于BIM的EPC项目管理应用研究.pdf VIP
- 法说西游记(湖南大学)中国大学MOOC慕课章节测验答案(课程ID:1205730816).pdf VIP
- 2024年医师麻精药品处方权暨药师调剂资格考核试题.docx VIP
- 质量管理小组活动推进指南(TCAQ10208-2024).docx
- 飞机防冰排雨系统.ppt VIP
- 深静脉血栓形成的诊断和治疗指南(第三版)解读PPT课件.pptx VIP
文档评论(0)