山东大学 数据库 实验四 复制表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档