当前位置:   article > 正文

MySQL练习_输出订购数量超过3本的会员编号和订购数量

输出订购数量超过3本的会员编号和订购数量

 题目

项目1:在bookstore数据库中进行简单查询

目的:掌握SELECT语句中DISTINCT子句、LIMIT子句、WHERE子句以及ORDER BY 子句的使用。

  1. 查询user表,输出积分高于500分的分员昵称和联系电话。
  2. 查询会员表,输出积分低于200分的会员昵称和联系电话,分别用英文username,telephone指定别名。
  3. 查询user表,输出E-mail是  QQ邮箱的会员昵称及其E-mail.
  4. 查询b_order表,输出订购日期是2016年10月的订单的详细信息。
  5. 查询b_order表,输出订货的会员编号 ,要求删除重复行。
  6. 查询book表,输出图书的名称和价格,并把查询结果按价格降序排列。
  7. 查询book表,输出价格最高的三种图书的名称和价格。

项目2:在bookstore数据库中查询中使用集合函数

目的:掌握集合函数、GROUP BY子句、HAVING子句。

内容如下:

  1. 查询book表,输出所有图书的最高价格、最低价格、平均价格。
  2. 查询book表,输出每一类图书的数量。
  3. 查询book表,输出每一类图书的最高价格、最低价格、平均价格。
  4. 查询b_order表,输出订购数量超过3本的会员编号和订购数量。

项目3:在bookstore数据库查询中使用连接查询和子查询。

目的:掌握连接查询和子查询

内容如下:、

  1. 输出所有图书的图书名称、价格以及所属类别名称。
  2. 输出订购了《平凡的世界》的会员昵称、联系电话、订购数量。
  3. 输出订购了图书的会员昵称和联系电话。
  4. 输出无人订购的图书名称和价格。
  5. 输出详细订购信息,包括订购图书的会员昵称、联系电话、所订图书名称、数量、价格、折扣价。

数据库

  1. /*
  2. Navicat Premium Data Transfer
  3. Source Server : 本地连接
  4. Source Server Type : MySQL
  5. Source Server Version : 50717
  6. Source Host : localhost:3306
  7. Source Schema : bookstore
  8. Target Server Type : MySQL
  9. Target Server Version : 50717
  10. File Encoding : 65001
  11. Date: 09/12/2022 19:08:22
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for b_order
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `b_order`;
  19. CREATE TABLE `b_order` (
  20. `uid` int(11) NOT NULL,
  21. `bid` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  22. `ordernum` int(11) NULL DEFAULT 1,
  23. `orderdate` datetime(0) NULL DEFAULT NULL,
  24. `deliverydate` datetime(0) NULL DEFAULT NULL
  25. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  26. -- ----------------------------
  27. -- Records of b_order
  28. -- ----------------------------
  29. INSERT INTO `b_order` VALUES (1001, '1', 2, '2016-03-12 00:00:00', NULL);
  30. INSERT INTO `b_order` VALUES (1001, '1', 2, '2016-03-12 00:00:00', NULL);
  31. INSERT INTO `b_order` VALUES (1001, '3', 0, '2016-04-15 00:00:00', NULL);
  32. INSERT INTO `b_order` VALUES (1001, '1', 1, '2016-09-15 00:00:00', NULL);
  33. INSERT INTO `b_order` VALUES (1003, '7', 1, '2015-12-14 00:00:00', NULL);
  34. INSERT INTO `b_order` VALUES (1003, '3', 1, '2016-10-10 00:00:00', NULL);
  35. INSERT INTO `b_order` VALUES (1005, '5', 1, '2015-08-17 00:00:00', NULL);
  36. INSERT INTO `b_order` VALUES (1005, '7', 3, '2016-11-12 00:00:00', NULL);
  37. INSERT INTO `b_order` VALUES (1006, '5', 1, '2016-09-08 00:00:00', NULL);
  38. INSERT INTO `b_order` VALUES (1006, '1', 2, '2016-10-21 00:00:00', NULL);
  39. INSERT INTO `b_order` VALUES (1006, '7', 2, '2015-11-21 00:00:00', NULL);
  40. -- ----------------------------
  41. -- Table structure for book
  42. -- ----------------------------
  43. DROP TABLE IF EXISTS `book`;
  44. CREATE TABLE `book` (
  45. `bid` int(11) NOT NULL,
  46. `BNAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  47. `AUTHOR` char(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  48. `PRICE` double(10, 2) NULL DEFAULT NULL,
  49. `publisher` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  50. `discount` double(10, 2) NULL DEFAULT NULL,
  51. `cid` int(11) NULL DEFAULT NULL,
  52. PRIMARY KEY (`bid`) USING BTREE,
  53. INDEX `book_cid`(`cid`) USING BTREE,
  54. CONSTRAINT `book_cid` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`) ON DELETE RESTRICT ON UPDATE RESTRICT
  55. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  56. -- ----------------------------
  57. -- Records of book
  58. -- ----------------------------
  59. INSERT INTO `book` VALUES (1, '中国时代', '师永刚', 39.00, '作家出版社', 27.80, 1);
  60. INSERT INTO `book` VALUES (2, '中国历史屈辱', '王重旭', 26.00, '华夏出版社', 18.20, 2);
  61. INSERT INTO `book` VALUES (3, '择业要趁早', '海文', 28.00, '海天出版社', 19.30, 3);
  62. INSERT INTO `book` VALUES (4, '房间', '爱玛', 37.00, '人民文学出版社', 36.30, 4);
  63. INSERT INTO `book` VALUES (5, '平凡的世界', '路遥', 75.00, '北京出版社', 63.75, 4);
  64. INSERT INTO `book` VALUES (6, '心灵鸡汤', '关然', 27.00, '大豫出版社', 20.00, 3);
  65. INSERT INTO `book` VALUES (7, '蜕', '赵婷', 32.00, '上海出版社', 28.50, 3);
  66. -- ----------------------------
  67. -- Table structure for category
  68. -- ----------------------------
  69. DROP TABLE IF EXISTS `category`;
  70. CREATE TABLE `category` (
  71. `cid` int(11) NOT NULL,
  72. `cname` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  73. PRIMARY KEY (`cid`) USING BTREE
  74. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  75. -- ----------------------------
  76. -- Records of category
  77. -- ----------------------------
  78. INSERT INTO `category` VALUES (1, '历史');
  79. INSERT INTO `category` VALUES (2, '家教');
  80. INSERT INTO `category` VALUES (3, '文化');
  81. INSERT INTO `category` VALUES (4, '小说');
  82. -- ----------------------------
  83. -- Table structure for user
  84. -- ----------------------------
  85. DROP TABLE IF EXISTS `user`;
  86. CREATE TABLE `user` (
  87. `uid` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  88. `UNAME` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  89. `EMAIL` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  90. `TNUM` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  91. `SCORE` int(11) NULL DEFAULT NULL,
  92. PRIMARY KEY (`uid`) USING BTREE
  93. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  94. -- ----------------------------
  95. -- Records of user
  96. -- ----------------------------
  97. INSERT INTO `user` VALUES ('1001', '何大姑', 'hxg18@163.com', '13456234445', 20);
  98. INSERT INTO `user` VALUES ('1002', '平平人生', 'lp011@126.com', '1355158219', 300);
  99. INSERT INTO `user` VALUES ('1003', '四十不惑', '12345@qq.com', '18681688818', 1000);
  100. INSERT INTO `user` VALUES ('1004', '桃花岛主', '810124@qq.com', '13068011234', 600);
  101. INSERT INTO `user` VALUES ('1005', '水灵', 'zs123@371.cn', '15838188503', 150);
  102. INSERT INTO `user` VALUES ('1006', '感动心灵', 'gandong@tom.com', '13641151234', 500);
  103. SET FOREIGN_KEY_CHECKS = 1;

答案

  1. -- 项目1:在bookstore数据库中进行简单查询
  2. -- 目的:掌握SELECT语句中DISTINCT子句、LIMIT子句、WHERE子句以及ORDER BY 子句的使用。
  3. -- (1) 查询user表,输出积分高于500分的分员昵称和联系电话。
  4. select uname'昵称',TNUM'练习电话' from user WHERE SCORE>500;
  5. -- (2) 查询会员表,输出积分低于200分的会员昵称和联系电话,分别用英文username,telephone指定别名。
  6. select uname 'username',tnum 'telephone' from user WHERE SCORE<200;
  7. -- (3) 查询user表,输出E-mail是 QQ邮箱的会员昵称及其E-mail.
  8. SELECT uname'昵称',email'E-mail' FROM `user` WHERE email like"%@qq.com";
  9. -- (4) 查询b_order表,输出订购日期是2016年10月的订单的详细信息。
  10. SELECT * FROM `b_order` WHERE `orderdate` BETWEEN '2016-10-01 00:00:00' AND '2016-10-31 23:59:59';
  11. -- (5) 查询b_order表,输出订货的会员编号 ,要求删除重复行。
  12. SELECT uid'会员编号' FROM `b_order` GROUP BY uid;
  13. -- (6) 查询book表,输出图书的名称和价格,并把查询结果按价格降序排列。
  14. SELECT bname'名称',price'价格' FROM `book` ORDER BY price desc;
  15. -- (7) 查询book表,输出价格最高的三种图书的名称和价格。
  16. SELECT bname'名称',price'价格' FROM `book` ORDER BY price desc LIMIT 0,3;
  1. -- 项目2:在bookstore数据库中查询中使用集合函数
  2. -- 目的:掌握集合函数、GROUP BY子句、HAVING子句。
  3. -- 内容如下:
  4. -- (1) 查询book表,输出所有图书的最高价格、最低价格、平均价格。
  5. SELECT MAX(price)'最高价格',MiN(price)'最低价格',AVG(price) '平均价格' FROM `book`;
  6. -- (2) 查询book表,输出每一类图书的数量。
  7. SELECT cid,count(cid) FROM `book` GROUP BY cid;
  8. -- (3) 查询book表,输出每一类图书的最高价格、最低价格、平均价格。
  9. SELECT cid'图书类型',MAX(price)'最高价格',MiN(price)'最低价格',AVG(price) '平均价格' FROM `book` GROUP BY cid;
  10. -- (4) 查询b_order表,输出订购数量超过3本的会员编号和订购数量。
  11. SELECT uid'会员编号',SUM(ordernum)'订购数量' FROM `b_order` GROUP BY uid HAVING `订购数量`>3;
  1. -- 项目3:在bookstore数据库查询中使用连接查询和子查询。
  2. -- 目的:掌握连接查询和子查询。
  3. -- 内容如下:、
  4. -- (1) 输出所有图书的图书名称、价格以及所属类别名称。
  5. SELECT bname'图书名称',b.price'价格',c.cname'类别名称' FROM `book` b LEFT JOIN `category` c on b.cid=c.cid;
  6. -- (2) 输出订购了《平凡的世界》的会员昵称、联系电话、订购数量。
  7. SELECT u.UNAME'会员昵称',u.tnum'联系电话',o.ordernum'订购数量' FROM `b_order` o LEFT JOIN `book` b on b.bid=o.bid LEFT JOIN `user` u on u.uid=o.uid WHERE b.BNAME='平凡的世界';
  8. -- (3) 输出订购了图书的会员昵称和联系电话。
  9. SELECT u.UNAME'会员昵称',u.tnum'联系电话' FROM `b_order` o LEFT JOIN `book` b on b.bid=o.bid LEFT JOIN `user` u on u.uid=o.uid group by u.uid;
  10. -- (4) 输出无人订购的图书名称和价格。
  11. SELECT bname'图书名称',price'价格' FROM `book` WHERE bid not in(SELECT bid FROM `b_order` GROUP BY bid);
  12. -- (5) 输出详细订购信息,包括订购图书的会员昵称、联系电话、所订图书名称、数量、价格、折扣价。
  13. SELECT u.UNAME'会员昵称',u.tnum'联系电话',b.bname'图书名称',SUM(o.ordernum)'数量',b.price'价格',b.discount'折扣价' FROM `b_order` o LEFT JOIN `book` b on b.bid=o.bid LEFT JOIN `user` u on u.uid=o.uid group by o.uid;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/546044
推荐阅读
相关标签
  

闽ICP备14008679号