26、查询每门课程被选修的学生数:
select course_id,count(stu_id)
from
t_score
group by course_id
;
运行结果:
1 6
2 6
3 6
27、查询出只有两门课程的全部学生的学号和姓名:
select a.*,count(a.stu_id)
from
t_stu_info a join t_score b on a.stu_id=b.stu_id
group by a.stu_id,a.stu_name,a.birthday,a.gender
having count(a.stu_id)=2
;
运行结果:
5 周梅 1991-12-01 女 2
6 吴兰 1992-03-01 女 2
7 郑竹 1989-07-01 女 2
28、查询男生、女生人数:
select gender,count(gender)
from
t_stu_info
group by gender
;
运行结果:
女 4
男 4
29、查询名字中含有"风"字的学生信息:
select *
from
t_stu_info
where stu_name like '%风%'
;
运行结果:
3 孙风 1990-05-20 男
//从该题开始向表中添加了两条 同名 数据
30、查询同名同性学生名单,并统计同名人数:
select stu_name,gender,count(stu_name)
from
t_stu_info
group by stu_name,gender
having count(stu_name)>1
;
运行结果:
王菊 女 2
郑竹 女 2
31、查询1990年出生的学生名单:
select t_stu_info.*
from
t_stu_info
where substring(birthday,0,4)='1990'
;
运行结果:
1 赵雷 1990-01-01 男
2 钱电 1990-12-21 男
3 孙风 1990-05-20 男
4 李云 1990-08-06 男
8 王菊 1990-01-20 女
10 王菊 1990-02-09 男
32、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列:
select course_id,
round(avg(score),2) as avg
from
t_score
group by course_id
order by avg desc,course_id asc
;
运行结果:
2 72.67
3 68.5
1 64.5
33、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩:
select *
from