MySQL查询习题

MySQL查询习题
MySQL查询习题

查询信息管理系职称为教授或副教授的男教师信息,显示姓名,职称信息。

select t.TName 名字,t.TRank 职称

from teacher t join department d

on (d.DName='信息管理系' AND d.DId=t.TDept)

having (t.TRank IN ('教授','副教授'));

查询'JAVA程序设计'课程日期最早的3名同学的姓名和学号信息,如果日期相同则按照姓名拼音先后顺序。

select s.SName 姓名,s.SId 学号,r.RDate 课程日期

from student s join register r

on s.SId=r.SId

where CId='C01'

order by r.RDate,s.SName asc limit 0,3;

查询每门课程的最低分的同学的姓名,学号,成绩以及课程编号信息。

select s.SName 姓名,s.SId 学号,r.Score 成绩,r.CId 课程编号

from register r inner join student s

on r.SId=s.SId

where r.Score=(select min(r1.Score)

from register r1

where r1.CId=r.CId

group by r1.CID)

order by r.CID;

查询每门课程的最低分的同学的姓名,学号,成绩以及课程名称信息。

select s.SName 姓名,s.SId 学号,r.Score 成绩,https://www.360docs.net/doc/9d18869434.html,ame 课程名称

from register r inner join student s on r.SId=s.SId

join course c on c.CId=r.CId

where r.Score=(select min(r1.Score)

from register r1

where r1.CId=r.CId

group by r1.CID);

查询每个学生各门课程的平均成绩,显示学生学号,姓名,平均成绩以及参加考试的门数,没有参加任何课程学习的学生也予显示。

select s.SName 姓名,s.SId 学号,round(avg(r.Score),0) 平均成绩,count(r.SId) 参加考试的门数

from register r right join student s

on r.SId=s.SId

group by s.SName;

查询每门课程的平均分,显示课程名称,平均成绩信息,并按照平均成绩倒序排列。

select round(avg(r.Score),1) 平均成绩,https://www.360docs.net/doc/9d18869434.html,ame 课程名称

from register r right join course c

on r.CId=c.CId

group by https://www.360docs.net/doc/9d18869434.html,ame

order by 平均成绩desc;

查询每门课程的平均分,显示课程名称,平均成绩信息,只显示平均成绩高于75分以上的课程,并按照平均成绩倒序排列。

select round(avg(r.Score),1) 平均成绩,https://www.360docs.net/doc/9d18869434.html,ame 课程名称

from register r right join course c

on r.CId=c.CId

group by https://www.360docs.net/doc/9d18869434.html,ame

HAVING round(avg(r.Score),1)>'75'

order by 平均成绩desc;

查询每个姓氏的学生人数,显示姓氏,人数信息(假设没有复姓)。

select substr(SName,1,1) 姓氏,count(SName) 人数

from student

group by 姓氏;

查询每个月份出生的学生人数,显示月份,出生人数信息,即便没有学生出生的月份也要显示。

select count(SId) 人数,ifnull(substr(SBirth,6,2),0) 月份

from student

group by substr(SBirth,6,2)

order by 月份;

相关主题
相关文档
最新文档