怎么写下面这条sql的语句,新学的没有答案,请高手帮忙解决

1.使用学生——课程——选课数据库的同学完成以下必做题
(1) 将学习了数据库课程的学生成绩加5分。
(2) 将计算机系学习了2号课程的学生成绩置0。
(3) 将李勇的数据库成绩改为85。
(4) 将选修了2号课程且成绩为空的选课记录删除。
(5) 从课程表中删除在选课表中没有选课记录的课程记录。
(6) 删除计算机系学生选修了数据库课程的选课记录。
(7) 求各系的系名及男女生人数并将结果保存到另一个表中。
(8) 将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。
(9) 创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。
(10) 创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。
11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。
(12) 创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。

1.update 选课 set 成绩=成绩+5 where 课程号 in (select 课程号 from 课程 where 课程名="数据库"
2.update 选课 set 成绩=0 where 课程号="2"
3.update 选课 set 成绩=85 where 学号 in (select 学号 from 学生 where 姓名="李勇"
4.delete from 选课 where 课程号="2" and 成绩 is null
5.delete from 课程 where 课程号 not in (select 课程号 from 选课)
6.delete from 选课 where 课程号 in (select 课程号 from 课程名="数据库") and 学号 in (select 学号 from 学生 where 系名="计算机")
7.select 系名,sum(*) as 人数 from 学生 group by 系名,性别 into table 学生分类
8.select 学号,count(*) as 课程数,avg(成绩) as 平均成绩 from 选课 where avg(成绩)>=80 into table 成绩表
9.create view 无选修 as select 学号,姓名,系名 from 学生 where 学号 not in (select 学号 from 选课)
select * from 无选修
10. create view 成绩 as select 姓名,课程名,成绩 from 学生,课程,选课 where 学生.学号=选课.学号 and 选课.课程号=课程.课程号
select * from 成绩
11.create view 平均 as select 课程号,count(*) as 选课人数,avg(成绩) as 平均分,max(成绩) as 最高分 from 选课 group by 课程号
select 选课人数,平均分,最高分 from 平均 where 课程号="1"
12.create view 平均1 as select 学号,成绩 from 选课 where 课程号="2" and 成绩>(select avg(成绩) from 选课 where 课程号="2")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-05
没有给出具体的表.只能按猜想的表结构写了.
1.update 学生表 set 学生成绩=0 where 数据库课程学习否=true
2.update 学生表 set 学生成绩=0 where 2号课程学习否=true and 所属系='计算机系'
3.update 学生表 set 数据库成绩=85 where 姓名='李勇'
4.delete 学生表 where 2号课程='选修' and 2号课程成绩=NULL
5.delete 课程表 where 选课表=NULL
6.delete 选课表 where 所属系='计算机系'
这个没有具体数据库还真不好写,就到这里..
第2个回答  2019-09-02
觉得还是很不错的,但是推荐还是搜索一下工.众.呺手电校园
第3个回答  2019-08-25
有个叫手电校园的工中号还不错,里边什么答案都有,你可以试试,希望能帮到你
第4个回答  2019-08-24
复制对应考试题的题目,然后粘贴到 手电校园,公z号,系统会自动返回答案
相似回答