实现几条比较复杂的SQL语句

来源:百度知道 编辑:UC知道 时间:2024/06/20 01:27:49
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#, Tname) 教师表
注:#代主键
1.查询“001”课程比“002”课程成绩高的所有学生的学号;

3.查询各科成绩前三名的记录:(不考虑成绩并列情况)
4.把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;(5.查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名6. 用二种方法删除“教师表”所有的记录(5分)
我也是丢了好久了
上班找了个题目做下
发现半天都想不出来了
请各位高手帮帮忙

未经验证,一起探讨
1:
select a.S# from SC a,SC b where a.S#=b.S# and a.C#=b.C# and
b.C#='002' and a.C#='001' and a.score>b.score
group by S#

3:
Select *
FROM SC A
Where EXISTS
(Select COUNT(1)
FROM orders
Where C# = A.C# AND score < A.score
HAVING COUNT(1) < 3)
ORDER BY score DESC

4:
update SC set score=d.avgscore
from
(select a.C#,avg(a.score) as avgscore
from SC a,Teacher b,Course c
where a.C#=c.C# and
b.T#=c.T# and
b.Tname='叶平'
group by a.C#) d
where C#=d.C#

5:
select b.S#,b.Sname from Student b,
(select S# from SC a
where exists
(select * from sc where S#='1001'
and C#=a.C#)
group by S#) c
where b.S#=c.S#

6:
delete from Teacher
truncate table Teacher

不诚实,哈哈。
帮你写是不是就是害了你

最烦写好复杂的SQL

太多了