- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第06章数据的高级管理——学生数据的检索统计与汇总_第3稿
第六章 数据的高级管理——学生数据的检索统计与汇总
数据库检索速度的提高是数据库技术发展的重要标志之一。在数据库的发展过程中,数据检索曾经是一个非常困难的事情,直到使用了SQL语言之后,数据库的检索才变得相对简单。对于使用SQL语言操纵和管理数据的数据库,检索数据都要使用SELECT语句。使用SELECT语句,既可以完成简单的单表查询、联合查询,也可以完成复杂的联接查询、嵌套查询。在本章我们将介绍使用SELECT语句实现查询、汇总统计以及各种复杂查询的方法和应用技巧。
6.1 任务的提出
经过一段时间的努力,《晓灵学生管理系统》的基本功能终于实现了,相关的数据也输入到了数据库中,为此晓灵很高兴。这不,晓灵已经迫不及待地叫上她的几个好朋友,一起来运行这个第一个自己亲自开发的软件,一起来分享着成功的快乐。大家都聚到了晓灵的计算机前,晓灵熟练的为大家演示着相关的内容,并使用新学到的select查询语句为大家演示着查询数据的方法,大家都体会到了借助于计算机来管理和查询数据的方便与快捷。
这时,晓灵的好朋友学习委员莉莉提出了个问题:“晓灵,快替我查查上学期咱们班‘计算机网络技术’课程平均分是多少呀?还有咱班每个同学总成绩的排名,咱班主任正等着要呢”。这下晓灵可犯了难,表中没有平均分和总成绩的数据信息啊,这怎么查呢。看晓灵有些犯难,莉莉安慰到“没关系,晓灵。咱们去问问郝老师,他一定有办法的。”
同学们一块来到了办公室把刚才遇到的问题反映给了郝老师,听完大家的问题,郝老师脸上露出了欣慰的笑容,说:“我很高兴大家都能积极动脑筋提问题,而且你们已经把学习当成了一种乐趣而主动的去钻研,大家有了这种学习的精神,那什么难题都会迎刃而解的。正如大家说的这样,在实际情况中我们需要查询的数据可能不是表中的原始数据,需要对原有的数据进行计算,就好像莉莉需要的课程平均分。还有的数据分布在不同的表中,我们需要联合多个表实现数据的查询。有时我们还需要在对数据进行简单查询的基础上对数据进行进一步的分组汇总和排序,以便提炼我们需要的内容,这都是对数据的复杂查询。好,下面我们就一起来看看数据联合及分组汇总的方法。”
6.2 数据的排序
默认情况下,在查询结果集中,行的顺序与它们在表中的顺序相同。如果表中没有设置聚簇索引,那么表中行的顺序就是用户向表中输入时的顺序。但有时用户希望查询出的结果按照某种顺序显示。通过使用Order by 子句就可以实现对结果集中行的顺序进行重新排序。
语句的语法如下:
SELECT select_list
FROM table_source
WHERE search_condition
ORDER BY order_expression [ASC|DESC]
主要参数说明:
order_expression:排序所依据的列名称
ASC:升序排列,如果order by 语句后不明确标识则默认为升序
DESC:降序排列
【任务6.1】查询学习成绩表中编号为“k008”课程的学生考试成绩,并将结果集按成绩降序排列:
Select Sid,Kcid,gradenum
From grade
Where kcid=’k008’
Order by gradenum desc
查询结果如图6-1所示
图6-1 为结果集排序
使用ORDER BY子句时注意以下几点:
ORDER BY子句中指定的列并不一定要出现在select 后的选择列表中。
ORDER BY子句中指定的列不能超过8060字节。
ORDER BY子句后可以指定多个列,那么先按照最左边的列排序,如果列的取值相同,再按照第二列的值排序,依次类推。
可以为不同的列设置不同的排序方式。
【任务6.2】查询Northwind 数据库products表中产品的产品标识、产品名、类别和单价。并以类别为依据升序排序。如果类别相同,以单价位依据降序排序。
Use northwind
Select productid,productname,categoryid,unitprice
From products
Order by categoryid asc,unitprice desc
查询结果如图6-2所示
图6-2 为结果集排序
6.3 数据的分组和汇总
6.3.1 使用TOP关键字列出前n个记录
使用TOP关键字可以列出结果集中前n个或前n%的记录,
1. 使用该关键字的部分语法为:
SELECT ?[ TOP n [ PERCENT ] [ WITH TIES ] ] select_list
2. 主要参数说明
TOP n:前n个
TOP n [ PERCENT ]:前百分之n个
WITH TIES:包含值相等的记录
【任务6.3】查询学习成绩表中编号为“k008”课程前3名学生的成绩。
您可能关注的文档
最近下载
- 13D101-1~4 110KV及以下电力电缆终端和接头.docx VIP
- 2025年高考化学(黑吉辽蒙卷) 真题详细解读及评析.docx
- 干式系统的工作原理.ppt VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 英国文学史17th--Century-English---Literature4.ppt VIP
- 子宫颈癌筛查规范(2025年)解读课件PPT.pptx
- word模板:简约企业新闻报刊报纸排版设计word模板.docx VIP
- 露天矿开采(共117张课件).pptx VIP
- 人教版高中英语必修第一册Unit 2 教学课件 Reading and Thinking and Thinking.ppt VIP
- 2023心房颤动诊断和治疗中国指南(第二部分).docx VIP
文档评论(0)