《数据库实验select语句的使用》由会员分享,可在线阅读,更多相关《数据库实验select语句的使用(7页珍藏版)》请在金锄头文库上搜索。
1、南京信息工程大学 实验(实习)报告实验名称数据库实验(三)实验日期 11 月 11 日 得分指导教师 顾韵华 院 计算机与软件学院 专业 计算机科学与技术 年级 2012 班次 3 姓名宗仰学号 201213080971实验目的:1.学习 SELECT 语句结构2.学习 GROUP BY 子句、HAVING 子句、ORDER BY 子句的用法3.灵活运用连接查询、嵌套查询和集合查询2实验内容:完成以下题目:说明: 110必须至少用连接谓词或JOIN子句表达;1120必须至少用子查询表示1、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其全部订单信息。2、查询订购了商品、所在省市为
2、“江苏南京”的客户编号、客户姓名及其订购“食品”类订单信息。3、查询在“2013-2-16”以后订购了商品的客户编号、客户姓名以及订单信息。4、查询在“2013-2-16”以后订购了“食品”类商品的客户编号、客户姓名及其订单信息。5、查询订购了单价在50元以上(含)、并且订购数量在2个以上(含)的客户编号、客户姓名及其订购商品信息。6、查询订购了同一编号的商品超过一次的客户编号、客户姓名及其相应商品编号。7、查询22岁以下的客户编号、客户姓名及其订单信息。8、统计各个女客户的客户姓名及其订单数量。9、统计姓“张”的客户姓名及其订单数量。10、统计订购的食品类订单数量在2个及其以上的客户姓名及其
3、食品类订单数量。11、查询所在省市为“江苏南京”的客户的订单信息。12、查询订购了“新新文化用品制造厂”产品的客户编号、客户姓名和相应订单信息。13、查询订购了张小林订购过的商品的客户编号和客户姓名。14、查询订购了库存量在50及以上的商品的客户编号和客户姓名。15、查询订购数量比张小林所有订单数量都小的订单信息。16、查询年龄小于所有客户平均年龄的客户的订单信息。17、查询库存量超过平均库存量的商品信息。18、查询订购了商品名称中包含“球”的订单信息。19、查询订购了食品类商品的客户编号和客户姓名。20、查询具有相同出生日期的客户信息。3实验步骤1、查询订购了商品、所在省市为“江苏南京”的客
4、户编号、客户姓名及其全部订单信息。SELECTKHB.*,SPDGB.*FROMKHBINNERJOINSPDGBONKHB.客户编号=SPDGB. 客户编号WHERE 所在省市 =江苏南京2、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其订购 “食品”类订单信息。SELECTKHB.*,SPDGB.*,SPB.商品类别FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号= SPB.商品编号ONSPDGB.客户编号 =KHB.客户编号WHERE 所在省市 =江苏南京 ANDSPB.商品类别= 食品3、查询在“2013-2-16”以后订购了商品的客户编号、客户姓
5、名以及订单信息。SELECTKHB.*,SPDGB.*FROMKHBINNERJOINSPDGBONKHB.客户编号=SPDGB. 客户编号WHERE需要日期2009-2-16GO4、查询在“2013-2-16”以后订购了“食品”类商品的客户编号、客户姓名及其订单信息。SELECTKHB.*,SPDGB.*,SPB.商品类别FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号= SPB.商品编号ONSPDGB.客户编号 =KHB.客户编号WHERE需要日期2009-2-16ANDSPB .商品类别= 食品5、查询订购了单价在 50 元以上(含) 、并且订购数量在 2 个以上(
6、含)的客户编号、客户姓名及其订购商品信息。SELECTKHB.*,SPDGB.*,SPB.单价FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号= SPB.商品编号ONSPDGB.客户编号 =KHB.客户编号WHERE 单价=50 AND 数量=26、查询订购了同一编号的商品超过一次的客户编号、客户姓名及其相应商品编号。SELECTKHB.客户编号 ,KHB.客户姓名,SPDGB .商品编号FROMKHB,SPDGBWHEREKHB.客户编号=SPDGB.客户编号GROUPBYKHB.客户编号,客户姓名,SPDGB. 商品编号HAVINGCOUNT(*)17、查询 22 岁
7、以下的客户编号、客户姓名及其订单信息。SELECTKHB.客户编号 ,KHB.客户姓名,SPDGB .*FROMKHB,SPDGBWHEREKHB.客户编号=SPDGB.客户编号 ANDYEAR(GETDATE()-YEAR(KHB.出生日期)b.客户编号)14、查询订购了库存量在 50 及以上的商品的客户编号和客户姓名。SELECTDISTINCTa.客户编号 ,a.客户姓名FROMKHBa,SPDGBbWHEREa.客户编号=b.客户编号 ANDb.商品编号IN(SELECTb.商品编号FROMSPBc,SPDGBbWHEREc.商品编号=b.商品编号 AND库存量=50)15、 查询订购
8、数量比张小林所有订单数量都小的订单信息。SELECT*FROMSPDGBWHERE数量 (SELECT ROUND( AVG( 库存量 ) )FROM spb)18、 查询订购了商品名称中包含“球”的订单信息。SELECT*FROMSPDGBWHERE商品编号IN(SELECT商品编号FROMSPBWHERE商品名称 LIKE%球%)19、 查询订购了食品类商品的客户编号和客户姓名。SELECT客户编号, 客户姓名FROMKHBWHERE客户编号IN(SELECTb.客户编号FROMSPBa,SPDGBbWHEREa.商品编号=b.商品编号 AND商品类别= 食品)20、 查询具有相同出生日期的客户信息。SELECT*FROMKHBWHERE客户编号IN(SELECTa.客户编号FROMKHBa,KHBbWHEREa.出生日期=b.出生日期 ANDa.客户编号b. 客户编号)4.总结与反思1.通过这次实验,我更熟悉了查找语言的使用,比上次实验的难度大了许多,我做了挺久的时间,但是所幸的是都基本掌握了。2.本次实验其中有很多的难点,比如说 GROUP BY 子句的使用, COUNT 的使用等等,有的时候做出来的并没有符合题意,所以需要仔细揣摩题意,用合适的语句把题目做出来。3.其中嵌套查询使用的很频繁,要好好理解其中的关系才能运用到位。