SQL成绩修改怎么简化语句

将年龄大于22岁的学生计算机成绩不及格的加上10分,如果加上后及格则按60分计算。
update tableY set score = 60 where class='计算机' and score<60 and code in(select code from tableX where age>22)
update tableY set score=60 where class=’计算机’ and score>60

怎么把两句改成一句呢?

可以使用CASE语句将两句合并为一句:

UPDATE tableY
SET score = CASE
              WHEN class = '计算机' AND score < 60 AND code IN (SELECT code FROM tableX WHERE age > 22) THEN
                CASE
                  WHEN score + 10 >= 60 THEN 60
                  ELSE score + 10
                END
              WHEN class = '计算机' AND score > 60 THEN 60
              ELSE score
            END;

这样,如果年龄大于22岁的计算机成绩不及格的学生加上10分后及格,则成绩设为60;如果成绩大于60,则成绩设为60;否则成绩保持不变。