您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页实验2:使用分组,排序和聚合函数以及连接查询 实验报告

实验2:使用分组,排序和聚合函数以及连接查询 实验报告

来源:爱站旅游
GDOU-B-11-112

广东海洋大学学生实验报告书

实验二:使用分组,排序,聚

实验名称 课程名称 数据库原理与应用

集函数以及连接查询 学院(系) 学生姓名

成绩

学号

专业

实验地点

班级

实验日期

一、 实验目的 1.掌握通配符的用法 2.掌握 GROUP BY 子句的使用 3.掌握 ORDER BY子句的使用 4.掌握 DISTINCT关键字的使用 5.掌握聚集函数的使用 二、实验内容 完成在在Recruitment,GlobalToyz和Student数据库基础上的查询,按要求完成给出的下列题目,要求写出相应数据库的查询语句(SELECT语句) 1. 2. 3. 4. 5. 6. 7. 8. 显示 以‘S’开头,并且玩具名称不少于7个字符的玩具名称vToyName。 显示名称里包含字母‘u’或‘x’的玩具ID和名称以及价格。 查询信用卡号(cCreditCardNo)中包含4个8的订购者(Shopper)的详细信息。 统计订单号为‘000001’的订单 订购的玩具的数量和玩具的总花费(mToyCost)。 统计每份订单订购的玩具数量和玩具花费。 对于GlobalToyz数据库的Country表,统计国家名称只由六个字母构成的国家的数目。 统计被人订购过的玩具的数量,相同的玩具只统计一次。(OrderDetail表) toys表中,按照玩具的类别(cCategoryId)统计每类玩具的数量和平均价格(mToyrate),只输出平均价格大于20$的玩具的信息。思考:能输出的列可以有哪些?请写出相应的查询。 9. 以下这段代码将会输出什么: 输出每个订单所订的玩具的ID和总价 SELECT cOrderNo,cToyId,SUM(mToyCost) FROM OrderDetail GROUP BY cOrderNo 请写出正确的语句。 10. 使用内连接实现查询,查询订单号为‘000001’的订单订购的玩具的名称及其品牌名称。 11. 使用内连接实现查询,查询订购了类别为‘Dolls’的玩具的订单详情。 12. 使用内连接实现查询,查询订单号为‘000002’的订单的包装描述和附言内容。 13. 使用外连接实现查询,查询所有玩具的名称和订购信息(CartId),没有被人订购过的玩具,则CartId项显示空值。 14. 查询ORDERS表,按照订购日期从小到大排列表中记录,订购日期相同的记录按照总花费值从大到小排列。 三、实验过程 1. select vToyName from Toys where vToyName LIKE'S______%' 2. select cCategoryId,vToyName,mToyRate from Toys where vToyName LIKE'%u%' or vToyName LIKE'%x%' 3. select * from Shopper where cCreditCardNo LIKE'%8%8%8%8%' 4. select sum(siQty)siQty,sum(mToyCost)mToyCost from OrderDetail group by cOrderNo having cOrderNo='000001' 5. select cOrderNo,sum(siQty)siQty,sum(mToyCost)mToyCost from OrderDetail group by cOrderNo 6. select COUNT(cCountry)CountryCount from Country where cCountry like'______' 7. select cToyId,sum(siQty)siQty from OrderDetail group by cToyId 8. select cCategoryId,SUM(siToyQoh)siToyQoh,AVG(mToyRate)mToyRate from Toys group by cCategoryId having AVG(mToyRate)>20 9. SELECT cOrderNo,cToyId,SUM(mToyCost)mToyCost FROM OrderDetail group by cOrderNo,cToyId 10. select vToyName,cBrandName from OrderDetail inner join Toys on OrderDetail.cToyId=Toys.cToyId inner join ToyBrand on Toys.cBrandId=ToyBrand.cBrandId where cOrderNo='000001' 11. select OrderDetail.* from Category inner join Toys on Toys.cCategoryId=Category.cCategoryId inner join OrderDetail on Toys.cToyId=OrderDetail.cToyId where cCategory='Dolls' 12. select vDescription,vMessage from OrderDetail inner join Wrapper on OrderDetail.cWrapperId=Wrapper.cWrapperId where cOrderNo='000002' 13. select vToyName,cCartId from ShoppingCart full join Toys on ShoppingCart.cToyId=Toys.cToyId 14 select * from Orders Order by dOrderDate ASC,mTotalCost DESC 四、实验总结 通过这次试验,我基本掌握了SQL Server的通配符、GROUP BY、ORDER BY、DISTINCT和聚集函数的使用,对数据库的认识有了更深刻的理解,值得注意的是,DISTINCT只能消除重复行,以及多表连接查询时要使用第10题的格式,这次实验对我以后的学习提供了很大的帮助,让我熟悉了数据库实现简单查询。 指导教师

日期

注:请用A4纸书写,不够另附纸。

第 页,共 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务