SQL实战:如何将选修“数据”课程学生的成绩置为空值
SQL实战:如何将选修'数据'课程学生的成绩置为空值
问题描述:
在设计、创建的'学生、课程、选课'数据库中:
- S 学生表( 学号Sno, 姓名Sname, 性别Sex, 年龄Age)
- C 课程信息表(课号Cno, 课程名称Cname, 授课教师Teacher)
- SC 选课表(学号Sno, 课号Cno, 成绩Grade)
请从中检索出选修了课程名含'数据'的同学,将他们的选课成绩置为空值。
SQL构造思路:
要检索选修了课程名含有'数据'的同学,然后将他们的选课成绩置为空值,我们可以使用一个UPDATE语句结合子查询来实现。
SQL语句:
UPDATE SC
SET Grade = NULL
WHERE Sno IN (
SELECT Sno
FROM S
WHERE Sno IN (
SELECT Sno
FROM SC
WHERE Cno IN (
SELECT Cno
FROM C
WHERE Cname LIKE '%数据%'
)
)
);
在这个SQL语句中,我们首先使用子查询选取了选修了课程名含有'数据'的同学的学号(Sno),然后使用UPDATE语句将这些同学的选课成绩(Grade)置为空值。
运行结果:
执行这个SQL语句后,选修了课程名含有'数据'的同学的选课成绩将会被置为空值(NULL)。
原文地址: http://www.cveoy.top/t/topic/buis 著作权归作者所有。请勿转载和采集!