现数据库有四张表,前为表名,括号内位字段名。
Student(Sid,Sname,Sage,Ssex)学生表
Course(Cid,Cname,Tid)课程表
Teachaer(Tid,Tname)教师表
SC(Sid,Cid,score)成绩表
4)查询“语文”课程比“英语”课程成绩高的学生的姓名?
select * from student where sid in
(select scyw.sid
from
(select * from sc where cid = (select cid from course where cname='语文')) scyw,
(select * from sc where cid = (select cid from course where cname='英语')) scyy
where scyw.sid = scyy.sid and scyw.score > scyy.score);
5)查询平均成绩大于80分的同学的学号、姓名和平均成绩?
SELECT s.sid,AVG(s.score) FROM sc s GROUP BY s.sid HAVING AVG(s.score)>80;
6)查询没学过“张超”老师课程的学生的学号和姓名?
select * from student where sid not in(
select sid from sc where cid =
(
select cid from course where tid =
(select tid from teacher where tname='张超')
)
)