请老师帮忙查看作业

来源:1-15 自由编程

诡辩君

2019-11-18 11:23:16

-- 查询每个班级中每一科的平均成绩,显示数据包括班级名称,课程以及平均分数,并按照班ID升序排序。
SELECT c.name AS '班级名称', sc.course AS '课程', AVG(sc.mark) AS '平均成绩'
FROM class AS c
JOIN student AS s
ON c.c_id=s.class
JOIN score AS sc
ON s.s_id=sc.s_id
GROUP BY c.name,sc.course
ORDER BY c.name;
-- 查询所有同学的学生ID,姓名,性别以及总分,并安装成绩从高到低排序。
SELECT s.s_id AS '学生ID',s.name AS '姓名',s.gender AS '性别',SUM(sc.mark) AS '总分'
FROM student AS s
INNER JOIN score AS sc
ON s.s_id=sc.s_id
GROUP BY s.name
ORDER BY SUM(sc.mark) DESC;
-- 查询课程成绩小于75的学生ID,姓名,班级,课程以及分数。
SELECT s.s_id AS '学生ID', s.name AS '姓名', c.name AS '班级',sc.course AS '课程', sc.mark AS '分数'
FROM student AS s
INNER JOIN class AS c
ON c.c_id=s.class
INNER JOIN score AS sc
ON sc.s_id=s.s_id
WHERE sc.mark<75;

-- 将李米米的数学成绩该为88分。
SELECT s.name, sc.course,sc.mark 
FROM student AS s
INNER JOIN score AS sc
ON sc.s_id=s.s_id
WHERE sc.course='数学' AND s.name='李米米';

UPDATE score SET mark=88 WHERE s_id=(SELECT s_id FROM student WHERE name='李米米');
-- 计算重点班中每一科的平均成绩,显示数据包括:重点班ID,班级名称,课程,平均分数,按照降序排序。
SELECT c.c_id AS '重点班ID', c.name AS '班级名称',sc.course AS '课程', AVG(sc.mark) AS '平均分数'
FROM class AS c
INNER JOIN student AS s
ON s.class=c.c_id
INNER JOIN score AS sc
ON sc.s_id=s.s_id
WHERE c.descrip='重点班'
GROUP BY c.name,sc.course
ORDER BY c.c_id ASC;


写回答

1回答

好帮手慕小班

2019-11-18

同学你好,复制运行贴出代码,在修改李米米的数学成绩中,根据题目要求,只修改李米米的数学成绩,而不是修改李米米的所有成绩为88,所以在修改语句的条件中需要再加上course='数学'的条件,例如:

UPDATE score SET mark=88 WHERE s_id=(
    SELECT s_id FROM student WHERE name='李米米'
    ) AND course='数学';

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 8016 问题

查看课程