实验报告课程名称数据库原理与应用实验名称专业年级学号姓名指导教师实验日期实验三简单查询实验目的与要求:熟练掌握简单查询中的投影查询和选择查询熟练掌握查询中的排序和聚合函数的使用。实验设备(环境):PC机、SQLserver2008实验内容:(1)创建表使用电子商城E_Market数据库,然后分别建立商品类别表CommoditySort、商品信息表CommodityInfo、会员信息表UserInfo、订单信息表OrderInfoCREATETABLECommoditySort(SortIdINTIDENTITY(1,1)NOTNULL,--商品类别编号,主键,自动增长SortNameVARCHAR(50)NOTNULL--商品类别名称)CREATETABLECommodityInfo(CommodityIdintIDENTITY(1,1)NOTNULL,--商品编号SortIdintNOTNULL,--商品类别编号,外键CommodityNamevarchar(50)NOTNULL,--商品名称Pictureimage,--商品图片InPricefloatNOTNULL,--商品进货价OutPricefloatNOTNULL,--商品销售价格Amountint--商品库存量)CREATETABLEUserInfo(UserIdVARCHAR(20)NOTNULL,--会员号UserPwdVARCHAR(50)NOTNULL,--会员密码UserNameVARCHAR(50)NOTNULL,--会员名GenderINTNOTNULL,--性别EmailVARCHAR(50),--邮箱UserAddressVARCHAR(200),--联系地址PhoneVARCHAR(20)NOTNULL--联系电话)CREATETABLEOrderInfo(OrderIdINTIDENTITY(1,1)NOTNULL,--订单编号UserIdVARCHAR(20)NOTNULL,--外键,引用UserInfo表的主键CommodityIdINTNOTNULL,--外键,引用商品信息表的主键AmountINTNOTNULL,--数量PayMoneyBIGINTNOTNULL,--付货总金额PayWayVARCHAR(50)NOTNULL,--付款方式OrderTimeDATETIMENOTNULL,--下单日期ConfirmINTNOTNULL,--是否确认收,1表示确认,0表示没有确认,默认0SendGoodsINTNOTNULL--是否发货,0没发,1发货,默认0)(2)输入数据表1-1商品类别信息(CommoditySort)SortIdSortName1手机数码2图书音像3家用电器表1-2商品信息(CommodityInfo)CommodityIdSortIdCommodityNamePictureInPriceOutPriceAmount11索尼Z3null3300429910022JavaScript指南null205020031华为荣耀3C畅玩null50079980表1-3注册会员信息(UserInfo)UserIdUserPwdUserNameGenderEmailUserAddressPhoneyoyoiloveyou卢晓凤1lxf@sohu.com北京海淀010-82338233feiyanghongmei段飞扬0dfy@tom.com武汉江岸027-85796644daxialangyashan赵可以0zky@163.com上海普陀021-58207097表1-4订单信息(OrderInfo)OrderIdUserIdCommodityIdAmountPayMoneyPayWayOrderTimeConfirmSendGoods1yoyo128598邮局汇款2014-03-26012feiyang210500邮局汇款2014-02-06113daxia332397银行转帐2014-01-0811(3)设计数据关系图如下:(4)导入数据--导入数据注意事项,--与插入数据的顺序相同,有主外键关系的,先导主表中的数据,再导子表中的数据--1先导UserInfo或CommoditySort--2再导CommodityInfo最后导OrderInfo(回答为什么)(5)用SQL语言查询,并对查询结果截图。--[1]查询UserInfo中全部的行和列。--[2]查询付款方式为“网上银行”的UserId,PayWay,PayMoney信息。--查询一下付款的方式不是“网上银行”的订单信息--[3]使用AS关键字来改变结果集中的别名--[4]查询Email为NULL值,UserInfo中的所有信息。--[5]查询返回限制的行数,使用TOP关键字。返回性别为1的,前5个用户名及地址。--[6]在查询的结果中排序,关键字是ORDERBY升序为ASC,降序为DESC--按购买数量降序,按付款金额升序,(共21条记录)--[7]使用LIKE进行模糊查询--查询用户表中所有用户地址中为四川的用户信息--查询用户表中姓李的用户姓名,地址,电话--[8]BETWEEN..AND查询在两个已知值的之间的未知的值--查询订单表中购买数量为2到10之间的数据--查询下单日期不在‘2012-1-1’到‘2013-1-1’之间的订单信息--[9]使用IN在列举值范围内进行查询--查询使用‘网上银行’‘邮局汇款’方式下单的信息--【10】SUM用于对表达式中的列进行求和(只能用于数值型,空值将忽略)--查询商品编号为6的销售总量--按付款方式分别查询商品编号为6的销售总量--【11】AVG求平均值,(只能与数值型一起使用,空值将忽略)--图书音像的平均进货价--(1)根据“图书音像”商品类型查询该类型编号--(2)在商品信息表中查询类别编号为2的平均进货价--【12】MAX与MIN,求最值,(空值将忽略,可以与数值型,日期型,字符型一起使用)--在商品信息表中查询类别编号为1的最高,最低进货价--【13】COUNT用于统计记录集中的记录数()--使用COUNT统计用户表中用户数量实验程序及结果:(1)useE_marketSelect*Fromuserinfo(2)useE_marketSelectuserid,payway,paymoneyFromorderinfoWherepayway=‘网上银行’UserE_marketSelect*FromorderinfoWherepayway!=’网上银行’(3)userE_marketSelectuseridas用户名,paymoneyas付款方式,paywayas付款金额Fromorderinfo(4)userE_marketSelect*FromuserinfoWhereemailisnull(5)useE_marketSelecttop5useridas用户名,useraddressas地址FromuserinfoWheregender=1(6)useE_marketSelectuserid,payway,amount,paymoneyFromorderinfoOrderdyamountdesc,paymoneyasc(7)useE_marketSelect*FromuserinfoWhereuseraddresslike‘四川%’UseE_marketSelectusername,useraddress,phoneFromuserinfoWhereusernamelike‘李%’(8)useE_marketSelect*FromorderinfoWhereamountbetween‘2’and‘10’UseE_marketSelect*FromorderinfoWhereordetimebetween‘2012-1-1’and‘2013-1-1’(9)useE_marketSelect*FromorderinfoWherepaywayin(’网上银行’,‘邮局汇款’)(10)useE_marketSelectsum(amount)as总数,paywayFromorderinfoWherecommodityid=’6’groupbypayway(11)useE_marketSelectavg(sortid)as类型编号FromcommoditysortWheresortname=’图书音像’UseE_marketSelectavg(inprice)as平均进货价,sortidFromcommodityinfoWheresortid=’2’groupbysortid(12)useE_marketSelectmax(inprice)as最高进货价,min(inprice)as最低进货价FromcommodityinfoWheresortid=’1’(13)UseE_marketSelectcount(userid)人数Fromuserinfo实验总结(包括过程总结、心得体会及实验改进意见等):在查询过程中,稍有不慎就会造成语法错误,需要多熟悉SQL数据库的查询语言,还有注意中文标点的输入也会造成查询的失败,还有空语句的查询也有一些不同之处需要注意,在备份数据库的同时记得要删除原始保存地址,不然会造成数据库二次打开失败和数据迁移不完善的后果。指导教师评语:成绩评定教师签字备注:注:1、报告内的项目或设置,可根据实际情况加以补充和调整2、教师批改学生实验报告应在学生提交实验报告10日内