网站大量收购独家精品文档,联系QQ:2885784924

Mysql数据库技术Mysql数据库技术应用(微课版)课件 项目5 数据查询.pptx

Mysql数据库技术Mysql数据库技术应用(微课版)课件 项目5 数据查询.pptx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目5数据查询;任务1单表查询;任务1单表查询;2、示例

例1:select100,MySQL数据库,2018-8-8;

例2:selectversion(),database();

例3:selectyear(now()),mod(12,5);

例4:select100+20,12%5,125,125;;二、基本查询

基本查询只包括select子句和from子句,查询结果包括表中的所有行。

1、语法格式

select查询内容From源表

说明:

⑴如果要查询表中的所有列(即源表的所有字段),可以在select子句中使用*。

⑵如果要查询表中的指定列,可在select子句中列出字段名或表达式,用英文半角逗号分隔,还可以改变表中字段的显示顺序。

⑶在select子句中用distinct关键字可以去掉查询结果中的重复值。

⑷可以用as短语改变字段的显示名称。格式:字段名[as]别名。

⑸在select子句中可以使用函数、表达式进行简单计算。;任务1单表查询;任务1单表查询;任务1单表查询;任务1单表查询;四、使用groupby子句的分组查询

1、聚合函数

用于对查询结果中的指定字段进行统计,并返回单个计算结果。常见的聚合函数有5个:sum()、avg()、count()、max()、min()。

注意:

聚合函数必须有参数,且参数必须放在函数名后的一对圆括号中;

sum/avg:求和/平均值,参数类型必须是数值;

count:计数,仅统计参数值为非null值的行,当参数为*时返回检索行的总数;

max/min:求最大值/最小值,参数类型可以是数值型、日期型和字符型。6;2、groupby子句

在select查询中,使用groupby子句,配合聚合函数可按指定的表达式对查询结果进行分组汇总。

注意:

在select子句中,和聚合函数一起出现的字段名,一定要写在groupby子句中。

如果select语句中没有groupby子句,则聚合函数对整个查询结果进行统计;如果select语句中包含groupby子句,则聚合函数按分组进行统计。

3、having分组条件选项

对groupby分组的结果进行筛选,使用时放在groupby子句后。

注意:

having选项只能配合groupby使用

having选项和where子句可以同时使用。where子句是在分组前对记录进行筛选,having选项是对分组结果进行限制。

having选项中的条件可以使用聚合函数,而where子句中不能使用聚合函数。;4、示例

聚合函数在查询中的应用

统计course表中的课程总数:selectcount(*)fromcourse;

统计course表中已确定课时的课程数:selectcount(period)fromcourse;

查看study表的最高分、最低分和平均分:selectmax(score)最高分,min(score)最低分,avg(score)平均分fromstudy;

关于groupby子句和having选项的使用

统计student表中男女生人数:selectgender,count(*)fromstudentgroupbygender;

统计student表各民族学生人数:selectnation,count(*)fromstudentgroupbynation;

查询不同年份出生的学生人数:selectyear(birthday),count(*)fromstudentgroupbyyear(birthday);

查询每门课程的考试人数和课程平均分:selectcno,count(*),avg(score)fromstudygroupbycno;

查询课程平均分在80分以上的课程的考试人数和课程平均分:

selectcno课程号,count(*)考试人数,avg(score)课程平均分fromstudygroupbycnohavingavg(score)=80;

查询每个学生的考试课程数和平均分:selectsno,count(cno),avg(score)fromstudygroupbysno;

查询参加2门以上课程考试的学生的考试课程数和平均分:selectsno,count(*),avg(score)fromstudygroupbysnohavingcount(*)2;

统计已确定开设学期的课程的课程数和平均课时,且每学期平均课时要求大于60:

Sel

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档