where c.cno=sc.cno and c.cname='数据结构'
9、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%; use student update sc
set grade = grade * 1.05 from sc
where sc.cno='2'
and grade < (select avg(grade) from sc where sc.cno='2' )
10、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉; use student delete sc from sc
where sc.cno='2'
and grade < (select avg(grade) from sc where sc.cno='2' )
实验四 数据查询
一、学时:4学时 二、实验目的
熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练地使用 SQL 语句的各种形式; 三、实验准备
1、熟悉SQL SERVER 工作环境;
2、复习对表中数据查询的SQL语言命令; 四、实验容
1、根据实验二、立的SQL语句,建立相关的数据库、表及插入相关信息 2、查询学生的基本信息; use student
select * from s
3、查询“CS”系学生的基本信息; use student
select * from s where sdept='cs'
4、查询“CS”系学生年龄不在19到21之间的学生的学号、; use student
select sno,sname from s
where sdept='cs' and ( sage <19 or sage >21 ) 5、找出最大年龄; use student
select max(sage) from s
6、找出“CS”系年龄最大的学生,显示其学号、; select sno , sname from s
where sdept='cs' and sage=(
select max(sage) from s where sdept='cs' )
7、找出各系年龄最大的学生的年龄; select sdept, max(sage) from s
Group by sdept
8、统计“CS”系学生的人数;
9、统计各系学生的人数,结果按升序排列;
10、按系统计各系学生的平均年龄,结果按降序排列;
11、查询每门课程的课程名;
12、查询无先修课的课程的课程名和学时数; 13、统计无先修课的课程的学时总数;
14、统计每位学生选修课程的门数、学分及其平均成绩; 15、统计选修每门课程的学生人数及各门课程的平均成绩;
16、找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排 列;
17、查询选修了“1”或“2”号课程的学生学号和; 18、查询选修了“1”和“2”号课程的学生学号和;
19、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、和成绩; 20、查询每位学生选修了课程的学生信息(显示:学号,,课程号,课程名,成绩); 21、查询没有选修课程的学生的基本信息; 22、查询选修了3门以上课程的学生学号;
23、查询选修课程成绩至少有一门在80分以上的学生学号; 24、查询选修课程成绩均在80分以上的学生学号; 25、查询选修课程平均成绩在80分以上的学生学号;
实验五 视图的定义和使用
一、学时:2学时 二、实验目的
熟悉掌握对数据表中视图的定义操作和SQL命令的使用; 熟悉掌握对数据表中视图的查询操作和SQL命令的使用; 熟悉掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系;
学习灵活熟练的进行视图的操作,认识视图的作用; 三、实验准备
1、熟悉SQL SERVER 工作环境;
2、复习有关视图操作的SQL语言命令; 四、实验容
以S、C、SC表为基础完成以下视图定义及使用
1、定义“IS”系学生基本情况视图V_IS 并查询结果; 2、将S,C,SC表中学生的学号,,课程号,课程名,成绩定义为视图V_S_C_G并查询结果;
3、将各系学生人数,平均年龄定义为视图V_NUM_AVG并查询结果; 4、定义一个反映学生出生年份的视图V_YEAR并查询结果;
5、将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果; 6、将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G并查询结果; 7、查询平均成绩为90分以上的学生学号、和成绩; 8、查询各课成绩均大于平均成绩的学生学号、、课程和成绩; 9、按系统计各系平均成绩在80分以上的人数,结果按降序排列; 10、通过视图V_IS,分别将学号为“S1”和“S4”的学生更改为“S1_MMM”,”S4_MMM” 并查询结果;
11、通过视图V_IS,新增加一个学生记录 (‘S12’,’YAN XI’,19,’IS’),并查询结果; 12、通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果; 13、通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果;
14、要通过视图V_S_C_G,将学号为“S12”的改为“S12_MMM”,是否可以实现? 15、要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?

