山东大学 数据库 实验四 复制表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Test4 复制表、修改表结构、修改数据(2学时)
一、实验内容
利用oracle管理平台完成对表的结构、数据进行修改,每一个问题可以通过多个SQL语句完成。
二、实验题目
1.将pub用户下表student_41及数据复制到主用户的表test4_01中,使用alter table 语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。
使用update语句,利用pub.student_course、pub.course,统计“总成绩”;
create table test4_01 as select* from pub.student_41
alter table test4_01 add sum_score int
alter table test4_01 add avg_score numeric(5,1)
alter table test4_01 add sum_credit int
alter table test4_01 add did varchar(2)
select *from test4_01
create table test01 as select sid,sum(score) sum_score from pub.student_course
group by sid
update test4_01
set sum_score=(select test01.sum_score
from test01
where test01.sid=test4_01.sid)
2.将pub用户下表student_41及数据复制到主用户的表test4_02中,使用alter table 语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。
利用pub.student_course、pub.course,统计“平均成绩”;
create table test4_02 as select* from pub.student_41
alter table test4_02 add sum_score int
alter table test4_02 add avg_score numeric(5,1)
alter table test4_02 add sum_credit int
alter table test4_02 add did varchar(2)
select *from test4_02
create table test02 as select sid,avg(score) avg_score from pub.student_course group by sid update test4_02
set avg_score=(select test02.avg_score
from test02
where test02.sid=test4_02.sid)
3.将pub用户下表student_41及数据复制到主用户的表test4_03中,使用alter table 语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。
使用update语句,利用pub.student_course、pub.course,统计“总学分”;
drop table test4_03
create table test4_03 as select* from pub.student_41
alter table test4_03 add sum_score int
alter table test4_03 add avg_score numeric(5,1)
alter table test4_03 add sum_credit int
alter table test4_03 add did varchar(2)
select *from pub.course
drop table test03
create table test031 as select sid,cid,score from pub.student_course
alter table test031 add credit int
update test031
set credit=(select credit
from pub.course
where test031.cid=pub.course.cid and score>=60)
update test031
set credit=0
where score<60
create table test03 as select sid,sum(credit) sum_credit from test031
group by sid
update test4_03
set sum_credit=(select test03.sum_credit
from test03
where test03.sid=test4_03.sid)
4.将pub用户下表student_41及数据复制到主用户的表test4_04中,使用alter table 语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。
根据院系名称到pub.department或者pub.department_41中,找到对应编号,填写到院系编号中,如果都没有对应的院系,则填写为00。
drop table test4_04