《数据库系统》实验---实验三答案

《数据库系统》实验---实验三答案

ID:38170010

大小:16.33 KB

页数:4页

时间:2019-06-06

《数据库系统》实验---实验三答案_第1页
《数据库系统》实验---实验三答案_第2页
《数据库系统》实验---实验三答案_第3页
《数据库系统》实验---实验三答案_第4页
资源描述:

《《数据库系统》实验---实验三答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三复制表CREATETABLEtest3_01AS(SELECT*FROMpub.student_31)增加五个列ALTERTABLEtest3_01ADD(总成绩int,平均成绩int,总学分int,排名int,院系编号varchar(2))(1)使用update语句,利用pub.student_course、pub.course,统计“总成绩”;UPDATEtest3_01SET总成绩=(SELECTSUM(成绩)FROMpub.student_coursewheretest3_01.学号=pub.student_course.学号GROUPBY学号)(2)使用

2、update语句,利用pub.student_course、pub.course,统计“平均成绩”;UPDATEtest3_01SET平均成绩=(SELECTavg(成绩)FROMpub.student_coursewheretest3_01.学号=pub.student_course.学号GROUPBY学号)(3)使用update语句,利用pub.student_course、pub.course,统计“总学分”createtableaasSELECT学号,sum(学分)总学分FROMpub.student_course,pub.coursewherepub.cour

3、se.课程号=pub.student_course.课程号andpub.student_course.成绩>=60GROUPBY学号UPDATEtest3_01SET总学分=(select总学分fromawheretest3_01.学号=a.学号)droptablea(4)将总成绩的名次放入“排名”列中,总成绩相同的学生的排名也相同(即一个名次可以多个人),没有成绩的排名置空值。(提醒:可是使用oracle的rownum伪列实现);createtableaasselectrownum排名次,总成绩from(selectdistinct总成绩fromtest3_01gro

4、upby总成绩orderby总成绩descnullslast)updatetest3_01set排名=(select排名次fromawherea.总成绩=test3_01.总成绩)droptablea(5)利用pub.department,pub.department_31两个表,填写院系编号内容,没有对应的院系编号填写为00。createtableaasselect*frompub.departmentunionselect*frompub.department_31updatetest3_01set院系编号=(select院系编号fromawherea.院系名称=t

5、est3_01.院系名称)updatetest3_01set院系编号=‘00’wheretest3_01.院系编号isnulldroptablea2、(6)剔除姓名列中的所有空格updatetest3_02set姓名=replace(姓名,'','')(7)剔除院系名称列中的所有空格updatetest3_02set院系名称=replace(院系名称,'','')(8)对性别列进行规范(需要先确定哪些性别数据不规范,也就是那些和大多数不一样的数据)updatetest3_02set性别=substr(性别,1,1)where性别like'_性'updatetest3_0

6、2set性别=replace(性别,'','')(9)对班级列进行规范(需要先确定哪些班级不规范)。updatetest3_02set班级=substr(班级,1,4)(10)年龄为空值的根据出生日期设置年龄列,年龄不为空值的数据不要改变莫名其妙成功提交。。。。。。。3.在学生表pub.student中统计名字(姓名的第一位是姓氏,其余为名字,不考虑复姓)的使用的频率,将统计结果放入test3_11中,表结构如下。createtableaasselectsubstr(姓名,2)名字frompub.studentcreatetabletest3_11asselect名字,

7、count(*)频率fromagroupby名字droptablea4.在学生表pub.student中统计名字(姓名的第一位是姓氏,不作统计,名字指姓名的第二个之后的汉字)的每个字使用的频率,将统计结果放入test3_12中,表结构如下createtableaas(selectsubstr(姓名,2,1)字frompub.studentunionallselectsubstr(姓名,3,1)字frompub.student)createtabletest3_12asselect字,count(*)频率fromagroupby字delet

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。