1、项目五、数据查询的实施项目五、数据查询的实施(简单查询简单查询)2项目五、数据查询的实施项目五、数据查询的实施(简单查询简单查询)3复习复习:1920年龄女吴玉1002男王成1001性别姓名学号投影运算:在列上进行选择运算:在行上进行4复习复习:nSelect From Where投影运算选择运算 关系条件关系条件-运算符:运算符:=!=!逻辑条件逻辑条件-运算符:运算符:and or not 范围条件范围条件-运算符:运算符:not betweenand 模式匹配模式匹配-运算符:运算符:not like 列表条件列表条件-运算符:运算符:not in 空值判断空值判断-运算符:运算符:is
2、 not null5引引:数据汇总查询数据汇总查询连接查询连接查询6学习目标学习目标7数据汇总查询数据汇总查询group by8数据汇总查询数据汇总查询whereselect fromwhere 条件条件 selectgroup by9最高分?最低分?平均分?成绩表人数?10学生表学生表 全部15条记录 where操作后的11条记录Select count(*)From 学生表学生表全体学生人数Select count(*)From 学生表学生表Where 性别性别=男男男学生人数Select count(*)as 男学生男学生From 学生表学生表Where 性别性别=男男聚合函数的作用范围
3、聚合函数的作用范围Select 性别性别,count(*)From 学生表学生表Where 性别性别=男男错误性别每人一个,但性别每人一个,但人数人数只有一个值只有一个值全部记录或由全部记录或由wherewhere子子句指定表的一个子集。句指定表的一个子集。1112数据汇总查询数据汇总查询age (all|distinct 列名列名)nSUM函数:函数:sum (all|distinct 列名列名)nMAX函数:函数:max (all|distinct 列名列名)nMIN函数:函数:min (all|distinct 列名列名)nCount函数:函数:count(*|all|distinct
4、列名列名)只能用于只能用于数值型数据数值型数据13范例演示范例演示:SELECT count(all name)from sss结果结果 5SELECT count(Distinct name)from sss结果结果 4SELECT count(*)from sss结果结果 7数据表SELECT count(name)from sssidname14数据汇总查询数据汇总查询n select select count count(学号学号)as )as 女生人数女生人数 from from 学生表学生表 where where 性别性别=女女 15数据汇总查询数据汇总查询统计不重复的记录行统计
5、不重复的记录行16数据汇总查询数据汇总查询17数据汇总查询数据汇总查询select count(distinct 课程号)as 不及格课程门数from 成绩表 where 成绩60select count(distinct 学号学号)as 不及格人数不及格人数,count(distinct 课号课号)as 有不及格学生的课程数有不及格学生的课程数from 成绩表成绩表where 成绩成绩11功能:统计各班级男女生的人数超过11人的信息。数据汇总查询数据汇总查询(分类汇总分类汇总)27select 学号,avg(成绩)as 平均成绩 from 成绩表 group by 学号数据汇总查询数据汇总查
6、询(分类汇总分类汇总)成绩表28select 学号,avg(成绩)as 平均成绩 from 学生表 group by 学号 having avg(成绩)75数据汇总查询数据汇总查询(分类汇总分类汇总)成绩表29Select 班号班号,count(*)as 男生人数男生人数From 学生表学生表Where 性别性别=男男Select 班号班号,count(*)as 男生人数男生人数From 学生表学生表Where 性别性别=男男group by 班号班号Select 班号班号,count(*)as 男生人数男生人数From 学生表学生表Where 性别性别=男男group by 班号班号havi
7、ng count(*)11n wherewhere子句作用于表子句作用于表(在分组之前对在分组之前对表中的记录先筛选表中的记录先筛选)。n havinghaving子句作用于组子句作用于组(在分组之后对在分组之后对生成的组进行筛选生成的组进行筛选)n Group by Group by 子句实现分组子句实现分组30(成绩)as平均分例:以下命令执行的结果是:如果要将这两个查询的结果一起显示如果要将这两个查询的结果一起显示出来,可以用出来,可以用compute by compute by 子句实现。子句实现。31 如果需将所有课程的成绩均如果需将所有课程的成绩均按此格式显示,如何写命令?按此格式
8、显示,如何写命令?326.3.3 数据汇总查询数据汇总查询(明细汇总)(明细汇总)(计算汇总计算汇总)select from order by 列名列名 computebycomputebycompute byorder bygroup by按给定的列进行按给定的列进行明细汇总明细汇总33selectselect 学号学号,课号课号,成绩成绩fromfrom 成绩表成绩表orderorder byby 课号课号 computecompute avgavg(成绩成绩)byby 课号课号computebycompute byorder by实质是电子表格中的分类汇总。3435显示数据的详细记录显示
9、数据的详细记录显示一条汇总记录显示一条汇总记录注意:注意:compute byorder byselect 学号学号,课号课号,成绩成绩from 成绩表成绩表order by 课号课号 desc -课号降序排列课号降序排列compute avg(成绩成绩)by 课号课号-按按课号分组课号分组汇总汇总数据汇总查询(明细汇总)数据汇总查询(明细汇总)36uselect 课程名称,开课学期,学分 from kc order by 2 compute sum(学分)by 开课学期uselect 课程名称,学分 from 课程表 compute sum(学分)数据汇总查询(明细汇总)数据汇总查询(明细汇总)37本课小结本课小结投影运算选择运算分类汇总连接运算排序
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。