数据库上机实验报告 4.doc

上传人:创****公 文档编号:3681937 上传时间:2020-10-15 格式:DOC 页数:4 大小:46.50KB
返回 下载 相关 举报
数据库上机实验报告 4.doc_第1页
第1页 / 共4页
数据库上机实验报告 4.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《数据库上机实验报告 4.doc》由会员分享,可在线阅读,更多相关《数据库上机实验报告 4.doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库上机实验报告 4学号: 姓名: 日期: 年 月 日实验目的:(1)练习连接查询;(2)练习视图的创建与使用;(3)学习使用ODBC的方法;(4)体验T-SQL的功能;体验存储过程的功能;体验表值函数、标量值函数的作用;体验ranking等功能。1 练习视图及连接查询。(1)创建一个视图,视图名为viNF,视图内容为select id,count(*) as nf from friends group by id。执行成功后,将SQL语句复制到下方。(2)基于viNF视图,查找拥有最多好友的用户、最少好友的用户。执行成功后,将SQL语句复制到下方。(3)基于users表和viNF视图进行连

2、接查询。分别进行内连接、全外连接、左外连接、右外连接四种操作。执行成功后,将SQL语句复制到下方,并回答:四种结果表,哪两个的结果是一致的,为什么?(4)将题(3)中全外连接保存为一个新的视图viUAF。2 通过ODBC用Excel打开users表。3 体验T-SQL。回顾实验2中的题目:定义最低价格为成本价;依据此成本价做如下计算:连接Goods,Goods_Extent,Sellers表,按照总利润,输出前10名;要求输出表的格式为(商品名称,卖家名称,商品价格,运费,卖家信誉,卖家好评率,历史销量,历史利润,期内销量,期内利润,总销量,总利润)利用如下语句进行查询,体会和之前有什么不同。

3、如感兴趣,自己可以仿照写一个变量定义、赋值及应用的例子。declare cost as float;select cost=min(good_price) from goods;select top 10 good_name as 商品名称, goods.seller_name as 卖家名称, good_price as 商品价格, good_shipping as 运费, rp_as_seller as 卖家信誉, positive_percent_as_seller as 卖家好评率, good_soldbefore as 历史销量, good_soldbefore*(good_pric

4、e-cost) as 历史利润, good_soldinterm as 期内销量, good_soldinterm*(good_price-cost) as 期内利润, good_soldbefore+good_soldinterm as 总销量, (good_soldbefore+good_soldinterm)*(good_price-cost) as 总利润 from goods,goods_extent,sellers where goods.good_id=goods_extent.good_id and goods.seller_id=sellers.seller_id order

5、 by 总利润 desc;4 体验存储过程。执行如下语句:CREATE PROCEDURE Notes_SQLid intASBEGINprint(存储过程样例);select id,gender,homeprovince from users where id in (select friendID from friends where id=id);END执行完毕后,在可编程性存储过程下查看自己创建的存储过程,并右键点击修改存储过程,观察所展示的代码与上述代码的不同之处。在查询窗口中执行如下语句,理解这一存储过程:exec Notes_SQL 155100422;5 体验存储过程的输入和输

6、出。执行如下语句:CREATE Procedure cal_mediansourceTB nvarchar(100),sourceColumn nvarchar(100),sourceConditions nvarchar(500),median float outAS BEGINdeclare sql nvarchar(1000)declare median_bottom floatdeclare median_top floatset sql = SELECT median_bottom=MAX( + sourceColumn + ) FROM (SELECT TOP 50 PERCENT

7、 + sourceColumn + FROM (select + sourceColumn + from + sourceTB + where + sourceConditions + ) as variable_list ORDER BY + sourceColumn + ) AS BottomHalfexec sp_executesql sql, Nmedian_bottom float out, median_bottom outset sql = SELECT median_top=MIN( + sourceColumn + ) FROM (SELECT TOP 50 PERCENT

8、+ sourceColumn + FROM (select + sourceColumn + from + sourceTB + where + sourceConditions + ) as variable_list ORDER BY + sourceColumn + DESC) AS TopHalfexec sp_executesql sql, Nmedian_top float out, median_top outset median = round(median_bottom+median_top)*1.0/2,2)END在查询窗口中执行如下语句,理解这一存储过程是如何实现输出的:

9、declare median floatexec cal_median users,nFriends,homeProvince=陕西,median outprint median6 体验表值函数。执行如下语句:create function getFriends(id as int)returns friends table (id int, gender varchar(2), place varchar(50)asbegininsert into friends select id,gender,homeprovince from users where id in (select fri

10、endID from friends where id=id);return;end执行完毕后,在 可编程性函数表值函数 下查看自己创建的表值函数,并右键点击修改函数,观察所展示的代码与上述代码的不同之处。在查询窗口中执行如下语句,理解表值函数的应用方式:select * from getFriends(155100422)7 体验标量值函数。执行如下语句:create function getFriendsNumber(id as int)returns intasbegindeclare nFriends int;set nFriends=(select count(*) from fri

11、ends where id=id);return nFriends;end执行完毕后,在 可编程性函数标量值函数 下查看自己创建的标量值函数,并右键点击修改函数,观察所展示的代码与上述代码的不同之处。在查询窗口中执行如下语句,理解标量值函数的应用方式:select *,dbo.getFriendsNumber(id) from users注:若此处报错,查看标量值函数的函数名,对dbo做相应修改。8 体验ranking等功能。执行如下语句:select *,row_number() over (partition by good_place order by good_price) from goods执行完毕后,观察执行结果。将row_number替换为 rank, dense_rank,观察不同之处。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 事务文书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁