数据库系统SSD7 实验2《表的查询、更新与视图操作》

您所在的位置:网站首页 sql查询学生成绩大于80的数据 数据库系统SSD7 实验2《表的查询、更新与视图操作》

数据库系统SSD7 实验2《表的查询、更新与视图操作》

2024-07-11 05:30| 来源: 网络整理| 查看: 265

实验2《表的查询、更新与视图操作》 一、实验目的 熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式,加深理解关系运算的各种操作(尤其是关系的选择,投影,连接和除运算); 熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用(熟悉使用UPDATE/INSERT/DELETE语句进行表操作);加深理解表的定义对数据更新的作用。 熟悉和掌握对数据表中视图的定义操作和SQL命令的使用; 熟悉和掌握对数据表中视图的查询操作和SQL命令的使用; 熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系。 二、实验内容

(一)在表S,C,SC上完成以下查询:

查询“CS”系学生的基本信息; 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 找出各系年龄最大的学生,显示其学号、姓名; 查询无先修课的课程的课程名和学时数; 统计每位学生选修课程的门数、学分及其平均成绩; 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列; 查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; 查询选修课程成绩至少有一门在80分以上的学生学号;

(二)在表S、C、SC中完成下列更新(在进行删除操作前要备份好数据):

在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况) 如果要在表SC中插入某个学生的选课信息(如:学号为“20160105”,课程号为“c123”,成绩待定),应如何进行? 将“CS”系全体学生的成绩置零; 将学号为“S1”的学生的学号修改为“S001”; 5 把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S——GRADE(SNO,AVG_GRADE); 把选修了课程名为“数据结构”的学生的成绩提高10%; 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉。

(三)以S , C , SC表为基础完成以下视图定义及使用

定义“SSCH”院学生基本情况视图V_SSCH; 将S,C,SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G; 将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果; 查询平均成绩为90分以上的学生学号、姓名和成绩; 通过视图V_SSCH,新增加一个学生记录 (‘S15’,‘YAN XI’,19, ‘SSCH’),并查询结果; 将视图V_SSCH中学号为“S15”的学生改名“中南人”。 三、实验方法

  本次实验利用SQL Server 2017和Microsoft SQL Server Management Studio 17实验工具、SQL语言进行对数据库表和视图的基本操作,实验方案为参考书本知识及网络资料完成实验内容要求。

四、实验步骤 阅读实验内容,整理本次实验需要用到的技术需求; 完成对数据表S,C,SC的查询工作; 在表S、C、SC中完成实验内容要求的更新工作; 以S , C , SC表为基础完成视图定义及使用; 总结实验过程,编写实验报告。 五、实验结果

(一)在表S,C,SC上完成以下查询:

查询“CS”系学生的基本信息; SELECT * from S where sdept = 'CS' 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; SELECT Sno, Sname from S where sdept = 'CS' and Sage21 找出各系年龄最大的学生,显示其学号、姓名; SELECT * from S a where Sage = (SELECT MAX(Sage) from S b where a.sdept=b.sdept ) 查询无先修课的课程的课程名和学时数; SELECT Cname, Cperiod from C where trim(Cpno)='' 统计每位学生选修课程的门数、学分及其平均成绩; SELECT SC.Sno,count(SC.Cno) Cnum,sum(ccredit) Ccredit,avg(grade) Ave_grade from SC,C where SC.Cno


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3