1、将数据分别插入表S、C、SC;(各插入两条记录)
insert into s
values(\'0257\',\'张一\',\'男\',25,\'CS\'), (\'0258\',\'张二\',\'男\',23,\'IS\')
insert into c
values(\'7\',\'web编程基础\',\'3\',5), (\'8\',\'计算机导论\',\'4\',3)
insert into sc
values(\'0257\',\'7\',56), (\'0258\',\'8\',96)
2、将表S、C、SC中的数据分别以.SQL文件或.txt文件的形式保存在磁盘上。
3、在表S、C、SC上练习数据的插入、修改、删除操作。
(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况)
4、将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。
5、如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“5”,成绩待定),应如何进行?
insert into sc
(sno,cno,grade)
values(\'200215121\',\'5\',null)
6、求各系学生的平均成绩,并把结果存入数据库Dept_grade 表,Dept_grade
创建如下;
create table Dept_grade
(
Sdept char(15), Avg_grade smallint
)
insert into Dept_grade
select sdept,AVG(grade)
from sc,s
where sc.sno=s.sno
group by sdept
7、将“CS”系全体学生的成绩置零;
update sc
set grade=\'0\'
where sno in
(
select sno
from s
where sdept=\'cs\'
)
8、删除“CS”系全体学生的选课记录;
delete from sc
where sno
in(
select sno from s
where sdept=\'cs\'
)
9、删除学号为“0251”的相关信息;
delete from s
where sno=\'0251\'
10、将学号为“0251”的学生的学号修改为“S0251”;
update s
set sno=\'s0251\'
where sno=\'0251\'
11、把平均成绩大于分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);
create table S_GRADE
(
SNO char(10),
AVG_GRADE float
)
insert into S_GRADE
select sno,AVG(grade)
from sc where sno
in(
select sno from s
where ssex=\'男\')
group by sno
having AVG(grade)>80
12、把选修了课程名为“数据结构”的学生的各门课成绩提高%;
update sc
set grade=grade*1.1
where sno in
(
select sno from sc,c
where sc.cno=c.cno and cname=\'数据结构\')
13、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高%;
update sc
set grade=grade*1.05
where grade<
(
select AVG(grade)
from sc
where cno=\'2\'
group by cno
)
14、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
delete from sc
where cno=\'2\'and grade<
(
select AVG(grade)
from sc
where cno=\'2\'
group by cno
)