1、E.g:1、查询成绩最高的信息/查询score表的最高分、平均分(聚集函数如果出现在select后面,则暂时只能出现聚集函数,不能再出现任何其他的属性)【当出现最高、几个时前面不能再使用*】
select *,max(score) from score;【×】
select max(score) from score;
select max(score),avg(score)from score;
因为最高分和平均成绩可以聚集
2、分组进行统计,每门课程的最高分;
①select course_no,max(score) from score group by course_no;
【按照什么什么分组】
②求每个学生的平均分;
select stu_no,avg(score) as 平均分 from score group by stu_no;
③找出平均分在60以下的【带有分组条件的查询】:
select stu_no,avg(score) as 平均分 from score /*where avg(score)<='60'为整个查询的条件*/ group by stu_no having avg(score)<=60;
④不能在“select stu_no,avg(score) as 平均分 ”的逗号中间加一个course_no【每个学生的平均分是每个课程的平均分不是某一个课程的平均分故不可以】
⑤查询选修了002和003两门课程且平均分低于60的学号和平均分;
select stu_no,avg(score) as 平均分 from score where course_no in('010002','010003') group by stu_no having avg(score)<=60;
⑥查询秦建兴是哪个班的?
select class_name,stu_name from student,class where stu_name='秦建兴'
则会出现四种情况【错误结果】