SQL聚集函数及所有SELECT_第1页
SQL聚集函数及所有SELECT_第2页
SQL聚集函数及所有SELECT_第3页
SQL聚集函数及所有SELECT_第4页
SQL聚集函数及所有SELECT_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Select使用小结:Select

字段1[As别名1],字段2[As别名2],…[*]From

数据表名[Where

条件表达式]Where字段表达式关系符常量Where字段名Like通配符格式Where条件1

逻辑符条件2聚集函数2023/6/16函数名称函数功能COUNT()统计所选数据的行数SUM()计算数据列的和MIN()计算数据列中的最小值MAX()计算数据列中的最大值AVG()计算数据列的平均值例24SelectCOUNT(*)AS总人数From学生成绩功能:显示“学生成绩”数据表中总的记录条数例25功能:显示“学生成绩”数据表中语文和数学的平均成绩SelectAVG(语文)as语文平均,AVG(数学)as数学平均From学生成绩SelectAVG(语文),AVG(数学)From学生成绩【例26】

SELECTMAX(语文),MIN(数学)FROM学生成绩

功能:显示“学生成绩”数据表中语文最高分,数学最低分,显示结果只有一条记录。1、统计“学生成绩”表总人数,并仅显示“总人数”SelectCount(*)As总人数From学生成绩2、显示“学生成绩”表中语文最高分,字段名显示“语文最高分”SelectMax(语文)as语文最高分From学生成绩3、统计“学生成绩”表中英语在60分及以上记录的“英语平均”SelectAvg(英语)as英语平均From学生成绩Where英语>=60练习数据查询语句——SELECT1、SELECT的完整格式:

SELECT字段名,……|*

[FROM

数据表名称]

[WHERE

条件表达式]

[GROUP

BY

字段名]

[HAVING

条件表达式]

[ORDER

BY

字段名[ASC|DESC],……]这里[]之间的内容可以省略,当同时使用多个子句时,必须按指定的顺序书写,如GROUP

BY子句必须写在WHERE子句的后面。格式4(GroupBy子句):Select字段1,字段2,…From

数据表Where

条件表达式

GroupBy

字段名GroupBy的功能:按某字段分类汇总统计。设“年级成绩”表,结构为:姓名、班级、语文、数学16、将“年级成绩”表按班级统计语文平均分Select班级,Avg(语文)As语文平均分From年级成绩GroupBy班级17、将“学生档案”表按是否团员统计记录数Select是否团员,count(*)From学生档案groupby是否团员练习:图书编号书名作者单价入库时间是否外借………………………………设有如下结构的“图书”数据表,写出实现以下要求的SQL语句:(1)显示图书数据表中总的记录条数;(2)按作者分类显示图书数据表中的作者和平均单价;(3)对图书数据表中2000年以来入库的图书按作者分类统计平均单价1、selectcount(*)

as总记录条数from

图书2、select

作者,avg(单价)

as平均单价

from

图书

groupby作者3、select

作者,avg(单价)

as平均单价

from

图书

where

入库时间>=#1/1/2000#

groupby作者参考答案:格式5(Having子句):

Select

字段1,字段2,… From

数据表GroupBy

字段名Having

条件表达式Having功能:显示GroupBy中满足Having条件的记录。18、对“年级成绩”按班级分类统计语文平均分,再显示其中平均分大于85的记录Select班级,Avg(语文)As语文平均分From年级成绩GroupBy班级Having

Avg(语文)>8519、对“学生档案”按是否团员分类统计团员个数,并显示其中团员人数Select

是否团员,count(*)

As

团员人数From

学生档案GroupBy是否团员Having

是否团员Having和Where的区别:P207例:对“年级成绩”中语文在85分以上的记录,按班级分类统计语文平均分,再显示其中平均分大于90的记录。Select

班级,Avg(语文)as语文平均分

From

年级成绩Where

语文>85Groupby班级Having

Avg(语文)>90不用别名以下为ORDERBY子句格式6

OrderBy子句:Select

字段1,字段2,…From数据表

OrderBy字段名1[Asc|Desc],字段名2[Asc|Desc]…功能:按字段排序显示。默认为Asc升序,Desc为降序。例:对年级成绩先按班级升序,再按语文降序显示记录。Select*From

年级成绩OrderBy班级Asc,语文Desc例28

SELECT班级,AVG(语文)FROM年级成绩

GROUPBY班级功能:根据班级,分别统计各班的语文平均成绩例29

SELECT班级,AVG(语文)AS平均分FROM年级成绩WHRER语文>85GROUPBY班级功能:把“年级成绩”数据表中语文成绩大于85分的记录,根据班级分别统计各班的语文平均成绩例30SELECT班级,AVG(语文)AS平均分FROM年级成绩

GROUPBY

班级

HAVINGAVG(语文)>85功能:先根据班级分别统计各班的语文平均分,再把语文平均分大于85分的记录显示出来请填关键字例31

SELECT*FROM年级成绩

ORDERBY

语文ASC功能:按语文成绩的升序显示“年级成绩”数据表的所有记录例32

SELECT*FROM年级成绩

ORDERBY

班级ASC

,语文

DESC功能:对“班级成绩”数据表按班级递增、语文成绩递减排序请填关键字练习11、显示1980年后出生的学生班级,姓名,并显示他们的年龄Select班级,姓名,

year(now())-year(出生日期)As年龄From年级成绩表Whereyear(出生日期)>=19802、显示语文大于80,并且数学小于80分的学生记录,按数学成绩从小到大排序Select*From学生成绩表Where语文>80and数学<80OrderBy数学ASC课堂检查26、统计年级中各班的总人数,显示班级和总人数信息。7、统计年级中每个班级各门课的总分,并显示相应的信息8、统计年级中每个班级语文的平均分,并显示出平均分大于60分

的班级,然后根据语文平均分进行降序排序9、将全年级学生信息根据总分(总分=语文+数学)进行排名次

(从大到小),如果总分相同,再根据数学成绩从大到小进行排序10、显示1980年后出生的学生信息,并显示他们的年龄11、显示10月份出生学生的姓名和各科成绩课堂检查26、统计年级中各班的总人数,显示班级和总人数信息。7、统计年级中每个班级各门课的总分,并显示相应的信息8、统计年级中每个班级语文的平均分,并显示出平均分大于60分的班级,然后根据语文平均分进行降序排序9、将全年级学生信息根据总分(总分=语文+数学)进行排名次(从大到小),如果总分相同,再根据数学成绩从大到小进行排序10、显示1980年后出生的学生信息,并显示他们的年龄11、显示10月份出生学生的姓名和各科成绩6、SELECT班级,COUNT(*)

AS班级总人数FROM学生成绩GROUPBY班级7、SELECT班级,SUM(数学)

AS数学总分,SUM(语文)

AS语文总分FROM年级成绩表GROUPBY班级8、SELECT班级,AVG(语文)AS语文平均分

FROM年级成绩表GROUPBY班级HAVINGAVG(语文)>60

ORDERBYAVG(语文)DESC9、SELECT班级,姓名,语文,数学,语文+数学AS总分FROM年级成绩表ORDERBY语文+数学DESC,数学DESC10、SELECT班级,姓名,语文,数学,出生日期,year(now())-year(出生日期)AS年龄FROM年级成绩表

WHEREYEAR(出生日期)>=198011、SELECT姓名,语文,数学

FROM年级成绩表WHEREMONTH(出生日期)=10学号姓名性别是否团员出生日期语文数学外语显示“学生”数据表中总分大于600分的学生记录。显示“学生”数据表中女团员的姓名和语文成绩。显示“学生”数据表中学号含有“01”的学生记录。显示“学生”数据表中所有学生记录。显示2001年10月1日之后出生的学生姓名和出生年份。1、有一“学生”数据表如下图所示,写出符合要求的sql语句Select语文+数学+外语as总分from学生where(语文+数学+外语)>600Select姓名,语文from学生where性别=“女”and是否团员Select*from学生where学号like“*01*”Select*from学生Select姓名,year(出生日期)

as出生年份from学生where出生日期>#10/1/2001#Select语文+数学+外语as总分from学生where(语文+数学+外语)>6002.Select姓名,语文from学生where性别=“女”and是否团员3.Select*from学生where学号like“*01*”4.Select*from学生5.Select姓名,year(出生日期)as出生年份from学生where出生日期>#10/1/2001#参考答案课堂检查11、求每位同学的成绩总分及平均分,别名分别为总分、平均分2、求整个年级的语文、数学的总分及平均分,别名分别为各门课的总分及平均分3、求整个年级的各门课的最高分及最低分4、统计年级中共有多少个学生5、统计年级中共有多少个各门课都大于60分的学生记录1、求每位同学的成绩总分及平均分,别名分别为总分、平均分2、求整个年级的语文、数学的总分及平均分,别名分别为各门课的总分及平均分3、求整个年级的各门课的最高分4、统计年级中共有多少个学生5、统计年级中共有多少个各门课都大于60分的学生记录条数。1、SELECT姓名,语文+数学AS总分,(语文+数学)/2

AS平均分FROM年级

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论