5、 把选修了“2”号课程,且成绩低于70分的成绩提高5%;
update SC
set Grade=Grade*1.05
where Cno='2' and Grade<70;
6、 将“CS”系全体学生的成绩置零;
update SC set Grade=0
where 'CS'=(select Sdept from S where S.Sno=SC.Sno);
(三)删除表中的数据
1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;
delete from SC
where Cno='2' and Grade<70;
2、删除学号为“95003”的相关信息;
delete from S where Sno='95003';
3、删除\系选修了\号课程的选课记录;
delete from SC
where Cno='2'and Sno in (select Sno from S where Sdept='IS');
4、删除“CS”系的全体学生的选课记录;
delete from SC
where 'CS'=(select Sdept from S where S.Sno=SC.Sno);
5、删除整张表的数据,注意表之间的关系,保持一致性。 delete from SC;
实验三 数据查询实验 实验三成绩:
一、实验目的
熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式; 加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算) 二、实验方法及步骤
1.在表student,course,sc上进行简单查询; 2.在表student,course,sc上进行连接查询; 3.在表student,course,sc上进行嵌套查询; 4.使用聚合函数的查询; 5.对数据的分组查询; 6.对数据的排序查询。 三、实验内容
在表student,course,sc上完成以下查询: 1、查询学生的基本信息;
2、查询“CS”系学生的基本信息;
3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 4、找出最大年龄;
5、找出“CS”系年龄最大的学生,显示其学号、姓名; 6、统计“CS”系学生的人数;
7、统计各系学生的人数,结果按升序排列;
8、按系统计各系学生的平均年龄,结果按降序排列; 9、查询每门课程的课程名;
10、统计无先修课的课程的学分总数;
11、查询选修了“1”或“2”号课程的学生学号和姓名; 12、查询选修了“1”和“2”号课程的学生学号和姓名;
13、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; 14、查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩); 15、查询没有选修课程的学生的基本信息; 16、查询选修了3门以上课程的学生学号;
17、查询选修课程成绩至少有一门在80分以上的学生学号; 18、查询选修课程平均成绩在80分以上的学生学号; 19、(选做)统计每位学生选修课程的门数、学分及其平均成绩; 20、(选做)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列。 四、实验结果:
1、查询学生的基本信息; select *from S;
2、查询“CS”系学生的基本信息;
select * from S
where Sdept='CS';
3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;
select Sno,Sname from S
where sdept='CS' AND Sage not between 19 and 21;
4、找出最大年龄;
select max(Sage) from S;
5、找出“CS”系年龄最大的学生,显示其学号、姓名;
select Sno,Sname from S where Sage=
(select max(Sage) from S
where Sdept='CS');
7、 统计“CS”系学生的人数;
SELECT Sdept,count(*) from S
where Sdept='CS' GROUP BY Sdept;
8、 统计各系学生的人数,结果按升序排列;
SELECT Sdept,COUNT(*) FROM S
group by sdept;
9、 按系统计各系学生的平均年龄,结果按降序排列;
select Sdept,avg(Sage) from S
group by Sdept
order by avg(Sage) desc;
10、
from C
查询每门课程的课程名;
select Cname group by Cname;
10、统计无先修课的课程的学分总数;
select sum(Ccredit) from C
where Cpno is null;
11、查询选修了“1”或“2”号课程的学生学号和姓名;
select S.Sno,Sname from S,SC
WHERE S.Sno=SC.Sno AND (Cno='1' or Cno='2');
12、查询选修了“1”和“2”号课程的学生学号和姓名;
select S.Sno,Sname from SC,S
where Cno='1' AND S.Sno=SC.Sno and SC.Sno IN
(select Sno from SC
where Cno='2');
13、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;
select S.Sno,Sname,Grade from S,SC,C
where SC.Sno=S.Sno and C.Cno=SC.Cno and Cname='数据库' and Grade<60;
14、查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);
select S.Sno,Sname,C.Cno,Cname,Grade from SC,C,S
WHERE S.Sno=SC.Sno and C.Cno=SC.Cno;
15、查询没有选修课程的学生的基本信息;
select *