27,579
社区成员
发帖
与我相关
我的任务
分享
UPDATE S SET SA=SA*1.05 WHERE S# IN
(
SELECT S# FROM SC WHERE G>=90 GROUP BY S# HAVING AVG(G)>=95 AND COUNT(C#)>=4
)
UPDATE S SET SG=SG+SG*0.05 FROM STUDENT,COURSE,SC WHERE STUDENT.S# = SC.S# AND SC.C# = COURSE.C# AND STUDENT.S# IN(SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>4)
AND STUDENT.S# IN (SELECT S# FROM SC GROUP BY S# HAVING AVG(SCORE)>30) AND NOT EXISTS (SELECT * FROM COURSE WHERE SCORE<90)
UPDATE STUDENT SET SNAME = 'S' FROM STUDENT,COURSE,SC WHERE STUDENT.S# = SC.S# AND SC.C# = COURSE.C# AND STUDENT.S# IN(SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>4)
AND STUDENT.S# IN (SELECT S# FROM SC GROUP BY S# HAVING AVG(SCORE)>30) AND NOT EXISTS (SELECT * FROM COURSE WHERE SCORE<90)
UPDATE STUDENT SET SNAME = 'S' FROM STUDENT,COURSE,SC WHERE STUDENT.S# = SC.S# AND SC.C# = COURSE.C# AND STUDENT.S# IN(SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>4)
AND STUDENT.S# IN (SELECT S# FROM SC GROUP BY S# HAVING AVG(SCORE)>30) AND NOT EXISTS (SELECT * FROM COURSE WHERE SCORE<90)
WHERE SCORE<90)
select s#,sn,sg,sg*1.05 newsg
from s
where
s# in (select s# from sc group by s# having count(1) > 4 and avg(G) > 95) -- 超4门,平均成绩高于95
and
not exists(select 1 from sc where sc.s# = s.s# and g < 90) -- 单科成绩不低于90