SQL的编写,求大神帮帮忙
9、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;...
9、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
13、将步骤2中导出的数据恢复。 展开
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
13、将步骤2中导出的数据恢复。 展开
3个回答
推荐于2017-12-15
展开全部
9、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);
INSERT INTO S_GRADE(SNO, AVG_GRADE)
SELECT 学号, AVG( 成绩 ) FROM 表
WHERE 性别='男' GROUP BY 学号
HAVING AVG( 成绩 ) > 80;
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.1
WHERE
学号 IN (
SELECT 学号 FROM 成绩 JOIN 课程 ON ( 成绩.课程号 = 课程.课程号 )
WHERE 课程.名称 = '数据结构' )
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.05
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
DELETE 成绩表
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
13、将步骤2中导出的数据恢复。
没看到步骤2,因此 ......
INSERT INTO S_GRADE(SNO, AVG_GRADE)
SELECT 学号, AVG( 成绩 ) FROM 表
WHERE 性别='男' GROUP BY 学号
HAVING AVG( 成绩 ) > 80;
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.1
WHERE
学号 IN (
SELECT 学号 FROM 成绩 JOIN 课程 ON ( 成绩.课程号 = 课程.课程号 )
WHERE 课程.名称 = '数据结构' )
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.05
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
DELETE 成绩表
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
13、将步骤2中导出的数据恢复。
没看到步骤2,因此 ......
引用wangzhiqing999的回答:
9、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);
INSERT INTO S_GRADE(SNO, AVG_GRADE)
SELECT 学号, AVG( 成绩 ) FROM 表
WHERE 性别='男' GROUP BY 学号
HAVING AVG( 成绩 ) > 80;
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.1
WHERE
学号 IN (
SELECT 学号 FROM 成绩 JOIN 课程 ON ( 成绩.课程号 = 课程.课程号 )
WHERE 课程.名称 = '数据结构' )
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.05
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
DELETE 成绩表
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
13、将步骤2中导出的数据恢复。
没看到步骤2,因此 ......
9、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);
INSERT INTO S_GRADE(SNO, AVG_GRADE)
SELECT 学号, AVG( 成绩 ) FROM 表
WHERE 性别='男' GROUP BY 学号
HAVING AVG( 成绩 ) > 80;
10、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.1
WHERE
学号 IN (
SELECT 学号 FROM 成绩 JOIN 课程 ON ( 成绩.课程号 = 课程.课程号 )
WHERE 课程.名称 = '数据结构' )
11、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
UPDATE 成绩表
SET 成绩 = 成绩 * 1.05
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
12、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
DELETE 成绩表
WHERE
课程编号 = 2
AND 成绩 < ( SELECT AVG( 成绩) FROM 成绩 WHERE 课程编号 = 2 ) ;
13、将步骤2中导出的数据恢复。
没看到步骤2,因此 ......
展开全部
答案不对啊 where的子查询不能有聚集函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,你这是嘛问题啊?都没有写完整
追问
只是一部分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询