第2个回答 2019-06-12
1
计算每门课程的选课人数(用到分组、计数)
select
课程表.课程名,count(学生表.学生ID)
from
课程表,学生表
where
课程表.课程id=学生表.课程id
group
by
课程表.课程名;
2
查询选修了张河老师所教课程的学生姓名(用到了课程表、成绩表、学生表)
select
学生表.学生姓名,课程表.课程名
from
课程表,学生表,成绩表
where
课程表.课程id=学生表.课程id
and
学生表.学生id=成绩表.学生ID
and
课程表.课程id=成绩表.课程id
and
课程表.教师='张河';
3
把教师名称为李华的课程名称改为数据库原理
update
课程表
set
课程名='数据库原理'
where
教师='李华';
创建一个视图
1
查询李华老师所教课程的学生姓名、课程名称和成绩
create
view
v_test1
as
select
学生表.学生姓名,课程表.课程名,成绩表.成绩
from
课程表,学生表,成绩表
where
课程表.课程id=学生表.课程id
and
学生表.学生id=成绩表.学生ID
and
课程表.课程id=成绩表.课程id
and
课程表.教师='李华';
2
查询选修了课程号为C02的选课人娄和平均成绩(使用别名)
create
view
v_test2
as
select
count(1)
as
选课人数,avg(成绩)
as
平均成绩
from
课程表,学生表,成绩表
where
课程表.课程id=学生表.课程id
and
学生表.学生id=成绩表.学生id
and
课程表.课程id=成绩表.课程id
and
课程表.课程id='C02'
3
查询每个学生平均成绩大于85分的学生的学号、姓名平均成绩,按照学号的升序排序
create
view
v_test3
as
select
学生表.学生id,
学生表.姓名,
成绩表.平均成绩
from
学生表,(select
成绩表.学生id
,avg(成绩)
as
平均成绩
from
成绩表
group
by
成绩表.学生id
having
avg(成绩)>85)
as
成绩表
where
学生表.学生id=成绩表.学生id;
4
在成绩表中对每一个学生的成绩增加百分之十
update
成绩表
set
成绩=成绩+成绩*0.1;