mysql查询学生平均成绩及其名次_数据库面试题:数据库查询语句

Student(S#,Sname,Sage,Ssex) 学生表

Course(C#,Cname,T#) 课程表

SC(S#,C#,score) 成绩表

Teacher(T#,Tname) 教师表

问题:

1、查询“001”课程比“002”课程成绩高地所有学生的学号

select a.S#

from (select s#,score from SC where C#=’001′) a,

(select s#,score from SC where C#=’002′) b

where a.score>b.score and a.s#=b.s#;

2、查询平均成绩大于60分的同学的学号和平均成绩

select S#,avg(score)

from sc

group by S# having avg(score) >60;

3、查询所有同学的学号、姓名、选课数、总成绩

select Student.S#,Student.Sname,count(SC.C#),sum(score)

from Student left Outer join SC on Student.S#=SC.S#

group by Student.S#,Sname

4、查询姓“李”的老师的个数

select count(distinct(Tname))

from Teacher

where Tname like ‘李%’;

5、查询没学过“叶平”老师课的同学的学号、姓名

select Student.S#,Student.Sname

from Student

where S# not in (select distinct( SC.S#) from SC,Course,Teacher whe

你可能感兴趣的:(mysql查询学生平均成绩及其名次_数据库面试题:数据库查询语句)