Table1:学生表(学号,姓名,年龄,性别) Student (s_no, sname, sage, sex) Table2:课程表(课程编号,课程名,任课教师) Course(c_no,cname,t_no) Table3:成绩表(学号,课程编号,成绩) Sc(s_no,c_no,score) Table4:教师表(教师编号,教师姓名) Teacher(t no,tname) 根据要求写出sql语句: 4 、把“sc”表中“叶平”老师教的课的成绩都更改成此课程的平均成绩。
时间: 2023-12-10 18:37:31 浏览: 84
数据库原理与技术简明教程案例题库1.doc
假设“叶平”老师的教师编号为t001,对应的课程编号为c001,则可以使用以下 SQL 语句将“sc”表中“叶平”老师教的课的成绩都更改成此课程的平均成绩:
```
UPDATE Sc SET score = (SELECT AVG(score) FROM Sc WHERE c_no = 'c001')
WHERE c_no = 'c001' AND s_no IN (SELECT s_no FROM Student WHERE s_no = Sc.s_no AND sname = '叶平')
```
其中,子查询 `SELECT AVG(score) FROM Sc WHERE c_no = 'c001'` 用于计算课程编号为 c001 的课程的平均成绩。在主查询中,使用了子查询和 IN 子句,分别用于筛选出学生表中姓名为“叶平”的学生对应的学号和“sc”表中课程编号为 c001 的记录,然后将这些记录的成绩更新为此课程的平均成绩。
阅读全文