上海大学数据库上机作业上机练习

发布 2022-09-05 10:15:28 阅读 3864

上海大数据库。

数据库系统与应用》上机习题。

第六部分、sql高级应用。

要求掌握:熟练掌握t-sql语言,了解事务处理的相关语句,学会用游标方式对数据库进行操作。

1、写出书上练习题10中第题的结果,并上机验证。完成第题。

14.给出下列程序的执行结果。

use school

select sno,cno,degree

from score

where sno in (103,105)

order by sno

compute **g(degree) by sno

go15.给出下列程序的执行结果。

use school

goselect as '教师', as '班号',**g( as '平均分'

from student,course,score,teacher

where and and

group by with cube

go16.给出下列程序的执行结果。

use school

gobegin transaction mytran

-启动事务。

insert into teacher

values(999,'张瑛','男','1960/03/05','教授','计算机系')

插入一个教师记录。

s**e transaction mytran

-保存点。insert into teacher

values(888,'胡丽','男','1982/8/04','副教授','电子工程系')

rollback transaction mytran

commit transaction

goselect *

from teacher

-查询教师表的记录。

go delete teacher where tno='999'

-删除插入的记录。

go17.编写一个程序,查询最高分的课程名。

use school

select cname

from course,score

where and degree=(select max(degree) from score)

2、完成书上上机实验题5

1.1)进入企业管理器,展开数据库,单击“factory”,单击下方的“关系图”。

2)在数据库关系图中,选择要表示要从关系图中删除的关系的联接线。

3)右击关系线,并从快捷菜单中选择“从数据库中删除关系”。

4)出现一个消息框,提示确认删除。单击“是”按钮。

factory

select worker.职工号,worker.姓名,salary.工资。

from worker,salary

where worker.职工号=salary.职工号。

order by worker.职工号,worker.姓名。

compute sum(salary.工资) by worker.职工号。

factory

select worker.性别,depart.部门名,**g(salary.工资) as '平均工资'

from worker,salary,depart

where worker.职工号=salary.职工号 and worker.部门号=depart.部门号。

group by worker.性别,depart.部门名 with cube

order by worker.性别,depart.部门名。

factory

goinsert into worker values(20,'陈立','女','55/03/08',1,'75/10/10',4)

go insert into depart values(5,'设备处')

goselect worker.职工号,worker.姓名,depart.部门名。

from worker full join depart

on(worker.部门号=depart.部门号)

order by worker.职工号。

godelete from worker where 职工号='20'

godelete from depart where 部门号='5'

gofactory

select worker.职工号,worker.姓名,depart.部门名,salary.日期,salary.工资。

from worker,salary,depart

where worker.职工号=salary.职工号 and worker.部门号=depart.部门号。

and salary.工资=(select max(工资) from salary)

factory

select 部门名。

from depart

where 部门号=(select 部门号 from worker

where 职工号=(select 职工号 from salary

where 工资=(select max(工资) from salary ))

factory

select 职工号,姓名。

from worker

where 职工号 in(select 职工号 from salary

group by 职工号 h**ing **g(工资)<(select **g(工资) from salary ))

factory

go set nocount on

-声明变量。

declare @dname char(10)

-声明游标。

declare d_cursor cursor

for select 部门名。

from depart

where 部门号=

select 部门号

from worker

where 职工号=

select 职工号

from salary

where 工资=

select max(工资)

from salary )

-打开游标。

open d_cursor

-提取第一行数据。

fetch next from d_cursor into @dname

--打印表标题。

print '部门名'

while @@fetch_status =0

begin

-打印一行数据。

print @dname

-提取下一行数据。

fetch next from d_cursor into @dname

end --关闭游标。

close d_cursor

--释放游标。

deallocate d_cursor

go factory

go set nocount on

-声明变量。

declare @no int,@name char(10)

-声明游标。

declare w_cursor cursor

for select 职工号,姓名。

from worker

where 职工号 in

select 职工号

from salary

group by 职工号

h**ing **g(工资)<(select **g(工资) from salary ))

-打开游标。

open w_cursor

-提取第一行数据。

fetch next from w_cursor into @no,@name

--打印表标题。

print '职工号姓名'

while @@fetch_status =0

begin

-打印一行数据。

print cast(@no as char(8))+name

-提取下一行数据。

fetch next from w_cursor into @no,@name

end --关闭游标。

close w_cursor

--释放游标。

deallocate w_cursor

go factory

go declare @num int

select @num=count(*)

from worker

print '原职工人数:'+cast(@num as char(3))

go declare @num int

begin transaction

-启动事务。

-插入一个职工记录。

insert into worker values(20,'陈立','女','55/03/08',1,'75/10/10',4)

print '插入一个职工记录'

select @num=count(*)

from worker

print '职工人数:'+cast(@num as char(3))

rollback transaction

-回滚事务。

go print '回滚事务'

declare @num int

select @num=count(*)

from worker

print '职工人数:'+cast(@num as char(3))go

上海大学数据库上机作业上机练习

三 利用上次上机的学生 课程数据库。1.求计算机学院学生的学号和姓名。use学生课程。select学号,姓名,单位from学生。where单位 计算机学院 2.求选修了课程的学生学号 利用select命令中distinct选项 use学生课程。select distinct学号from选课。3.求选...

上海大学数据库上机作业上机练习4作业

上大学数据库上机作业。数据库系统与应用 上机习题。第四部分 sql查询 嵌套和组合统计查询。要求掌握 利用sql查询语言表达嵌套查询语句以及数据查询中的统计计算和组合操作。1 做书上第九章余下的例题,并完成书上练习题9中第 题。exists select from where name studen...

上海大学数据库上机作业上机练习2作业 1

上大学数据库上机作业。数据库系统与应用 上机习题。第二部分 sql查询 单表查询。二 使用购进凭证数据库 由老师提供复制,内含 商品信息表 和 购进凭证表 只显示购进凭证表中凭证号 单价 数量 并输出一个计算字段 金额 计算金额的公式是 单价 数量。注 不是增加字段 use 购进凭证。select ...