数据库SQL语句实验报告

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 *

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4