您好,欢迎访问三七文档
实验08SQL测验一、实验目的:SQL语句测验。二、实验内容:1、SQL语句测验三、表结构描述3.1Student(学生)代码描述数据类型长度约束条件Sno学号CHAR10主码Sname姓名CHAR10Ssex性别CHAR2Sage年龄INT4Sdept系别CHAR103.2Course(课程)代码描述数据类型长度约束条件Cno课程号CHAR10主码Cname课程名CHAR10Cpno先修课程号CHAR10Ccredit学分FLOAT83.3SC(选修)代码描述数据类型长度约束条件Sno学号CHAR10主码Cno课程号CHAR10主码Grade成绩FLOAT8四、实验步骤1、运行SQLSERVER服务管理器,确认数据库服务器开始运行。2、运行企业管理器,以图示方式点击“附加数据库”,恢复db目录下的数据库文件3、打开查询分析器,选择刚才恢复的数据库Student,输入SQL指令,获得运行结果。4、完成以下SQL数据更新语句(1)查询18岁以上男生的姓名selectSnamefromStudentwhereSage18(2)查询姓刘的学生select*fromStudentwhereSnamelike'刘%'(3)查询学生数量selectcount(sno)fromStudent(4)查询姓刘的姓名中只有两个汉字的学生姓名select*fromStudentwheresnamelike'刘_'(5)查询所有学生,按学号降序列排列select*fromStudentorderbysnodesc(6)查询男女生数量selectssex,count(ssex)fromStudentgroupbyssex(7)根据姓名查询某人的选课情况(姓名在学生表中找一个),要求显示课程名称、成绩。附加数据库中课程名称为cnam,我将数据库中课程名称改为cname,与文档中的数据表一致。selectCname,GradefromStudent,Course,SCwhereStudent.Sno=SC.SnoandSC.Cno=Course.CnoandSname='张翔'(8)查询成绩在80到90之间的学生学号和成绩selectSno,GradefromSCwhereGradebetween80and90(9)查询3035313008所选课的平均成绩selectavg(Grade)fromSCwhereSno='3035313008'(10)查询各门功课的平均成绩,并按照成绩升序排列selectavg(Grade)fromSCgroupbyCnoorderbyavg(Grade)(11)添加一个学生信息(学号:30401433,姓名:张三,性别:男,年龄:21,系别:cs)insertintoStudent(Sno,Sname,Ssex,Sage,Sdept)values('30401433','张三','男','21','cs')(12)删除刚才添加的学生deletefromStudentwhereSno='30401433'(13)把所有学生的年龄增加1岁updateStudentsetSage=Sage+1(14)删除所有选课记录deletefromSC(15)给所有学生选上课程号为10001的课程,成绩为空insertintoSC(Sno,Cno,Grade)selectSno,10001,NULLfromStudent
本文标题:SQL实验08
链接地址:https://www.777doc.com/doc-6447130 .html