1条回答 默认 最新
- 小飞LOVE霞 2022-06-09 11:18关注
一共三张表:阅读者、书、阅读者和书的对应关系表
/* Navicat Premium Data Transfer Source Server : 127 Source Server Type : MySQL Source Server Version : 80028 Source Host : localhost:3306 Source Schema : test Target Server Type : MySQL Target Server Version : 80028 File Encoding : 65001 Date: 09/06/2022 11:14:08 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for book -- ---------------------------- DROP TABLE IF EXISTS `book`; CREATE TABLE `book` ( `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '书号', `book_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '书名', `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '作者', `product` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '出版社', `flag` smallint NULL DEFAULT NULL COMMENT '借阅状态:0-未出借。1-出借', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of book -- ---------------------------- INSERT INTO `book` VALUES ('1', '十日谈', '薄迦丘', '古罗马', 1); INSERT INTO `book` VALUES ('10', '假如给我三天光明', '海伦·凯勒', '柔弱女子', 1); INSERT INTO `book` VALUES ('11', '钢铁是怎样炼成的', '青少年', '前苏联', 1); INSERT INTO `book` VALUES ('12', '毛主席语录', '毛主席', '马克思主义', 1); INSERT INTO `book` VALUES ('13', '圣经', '基督教徒', '犹太人', 1); INSERT INTO `book` VALUES ('14', '小王子', '孩子', '善良人性', 1); INSERT INTO `book` VALUES ('15', '安徒生童话', '童话集册', '寓意', 1); INSERT INTO `book` VALUES ('16', '共产党宣言', '思想巨著', '共产主义', 1); INSERT INTO `book` VALUES ('17', '狂人日记', '白话文', '讽刺', 1); INSERT INTO `book` VALUES ('18', '红楼梦', '四大名著', '小说', 1); INSERT INTO `book` VALUES ('19', '童年', '高尔基', '社会', 1); INSERT INTO `book` VALUES ('2', '鲁滨逊漂流记', '很多人', '英国', 1); INSERT INTO `book` VALUES ('20', '格列佛游记', '格列佛', '英国政府', 1); INSERT INTO `book` VALUES ('3', '战争与和平', '托尔斯泰', '西方出版社', 1); INSERT INTO `book` VALUES ('4', '海底两万里', '凡尔纳', '科幻三部曲', 1); INSERT INTO `book` VALUES ('5', '汤姆·索亚历险记', '马克·吐温', '儿童文学作品', 1); INSERT INTO `book` VALUES ('6', '福尔摩斯探案集', '阿瑟·柯南道尔', '侦探小说', 1); INSERT INTO `book` VALUES ('7', '昆虫记', '法布尔', '昆虫研究', 1); INSERT INTO `book` VALUES ('8', '爱的教育', '师生之爱', '教育经典', 1); INSERT INTO `book` VALUES ('9', '名人传', '罗曼·罗兰', '传记作品集', 1); -- ---------------------------- -- Table structure for reader -- ---------------------------- DROP TABLE IF EXISTS `reader`; CREATE TABLE `reader` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '阅读者主键', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名', `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地址', `sex` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别', `age` int NULL DEFAULT NULL COMMENT '年龄', `department` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所在系', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of reader -- ---------------------------- INSERT INTO `reader` VALUES (1, '张三', '中国甘肃省兰州市', '男', 20, '计算机'); INSERT INTO `reader` VALUES (2, '李四', '中国北京', '女', 18, '土木'); INSERT INTO `reader` VALUES (3, '王五', '中国四川', '女', 18, '交通运输'); INSERT INTO `reader` VALUES (4, '二麻子', '中国新疆', '男', 19, '经管'); INSERT INTO `reader` VALUES (5, '狗剩', '中国内蒙', '男', 22, '法律'); INSERT INTO `reader` VALUES (6, '刘翔', '中国河北', '男', 23, '体育'); INSERT INTO `reader` VALUES (7, '詹姆斯', '美国', '男', 25, '体育'); INSERT INTO `reader` VALUES (8, '姚明', '中国上海', '男', 26, '体育'); INSERT INTO `reader` VALUES (9, '张杰', '中国湖南', '男', 19, '艺术'); INSERT INTO `reader` VALUES (10, '王飞', '中国甘肃', '男', 24, '计算机'); INSERT INTO `reader` VALUES (11, '王斌霞', '中国甘肃', '女', 18, '医学'); INSERT INTO `reader` VALUES (12, '张四', '中国甘肃省兰州市', '男', 20, '计算机'); INSERT INTO `reader` VALUES (13, '李五', '中国北京', '女', 18, '土木'); INSERT INTO `reader` VALUES (14, '王柳', '中国北京', '女', 18, '土木'); INSERT INTO `reader` VALUES (15, '博尔特', '地球', '男', 23, '体育'); INSERT INTO `reader` VALUES (16, '科比', '美国', '男', 25, '体育'); INSERT INTO `reader` VALUES (17, '王菲', '中国湖南', '女', 19, '艺术'); INSERT INTO `reader` VALUES (18, '老王', '中国甘肃', '男', 24, '计算机'); INSERT INTO `reader` VALUES (19, '王老大', '中国甘肃', '男', 24, '计算机'); INSERT INTO `reader` VALUES (20, '张丽', '中国甘肃', '女', 24, '计算机'); -- ---------------------------- -- Table structure for reader_book -- ---------------------------- DROP TABLE IF EXISTS `reader_book`; CREATE TABLE `reader_book` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '阅读者与图书对应关系表ID', `reader_id` bigint NULL DEFAULT NULL COMMENT '阅读者主键', `book_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图书主键', `out_time` datetime NULL DEFAULT NULL COMMENT '借出日期', `in_time` datetime NULL DEFAULT NULL COMMENT '归还日期', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of reader_book -- ---------------------------- INSERT INTO `reader_book` VALUES (1, 1, '1', '2022-06-09 10:25:47', NULL); INSERT INTO `reader_book` VALUES (2, 2, '2', '2022-06-08 10:25:57', NULL); INSERT INTO `reader_book` VALUES (3, 3, '3', '2022-06-04 10:26:08', NULL); INSERT INTO `reader_book` VALUES (4, 4, '4', '2022-06-01 10:26:19', NULL); INSERT INTO `reader_book` VALUES (5, 5, '5', '2022-06-02 10:26:27', NULL); INSERT INTO `reader_book` VALUES (6, 6, '6', '2022-05-05 10:26:37', NULL); INSERT INTO `reader_book` VALUES (7, 7, '7', '2022-06-08 10:26:50', NULL); INSERT INTO `reader_book` VALUES (8, 8, '8', '2022-06-15 10:27:01', NULL); INSERT INTO `reader_book` VALUES (9, 9, '9', '2022-06-04 10:27:10', NULL); INSERT INTO `reader_book` VALUES (10, 10, '10', '2022-03-17 10:27:22', NULL); INSERT INTO `reader_book` VALUES (11, 11, '11', '2021-12-24 10:27:32', NULL); INSERT INTO `reader_book` VALUES (12, 12, '12', '2022-06-18 10:30:55', NULL); INSERT INTO `reader_book` VALUES (13, 13, '13', '2022-06-23 10:31:06', NULL); INSERT INTO `reader_book` VALUES (14, 14, '14', '2022-06-17 10:31:16', NULL); INSERT INTO `reader_book` VALUES (15, 15, '15', '2022-06-12 10:31:26', NULL); INSERT INTO `reader_book` VALUES (16, 16, '16', '2022-06-25 10:31:36', NULL); INSERT INTO `reader_book` VALUES (17, 17, '17', '2021-10-22 10:31:47', NULL); INSERT INTO `reader_book` VALUES (18, 18, '18', '2020-04-23 10:32:02', NULL); INSERT INTO `reader_book` VALUES (19, 19, '19', '2021-07-24 10:32:18', NULL); INSERT INTO `reader_book` VALUES (20, 20, '20', '2021-09-30 10:32:32', NULL); SET FOREIGN_KEY_CHECKS = 1;
答案:
SELECT * FROM reader where sex='女'; SELECT * FROM reader where name LIKE '刘%'; SELECT * FROM reader WHERE age BETWEEN 20 AND 35; SELECT * FROM reader order By age DESC; SELECT department, COUNT(*) as total FROM reader a JOIN reader_book b ON a.id=b.reader_id JOIN book c ON c.id=b.book_id WHERE c.flag = 1 GROUP BY department; SELECT a.name, a.address, a.sex, a.age, a.department, c.book_name, c.author, c.product, case c.flag WHEN 1 THEN '已借出' WHEN 0 THEN '未借出' END AS flag FROM reader a JOIN reader_book b ON a.id=b.reader_id JOIN book c ON c.id=b.book_id WHERE a.sex="女"; SELECT c.name, a.book_name, a.author, a.product, case a.flag WHEN 1 THEN '已借出' WHEN 0 THEN '未借出' END AS flag FROM book a JOIN ( SELECT a.book_id, b.name FROM reader_book a JOIN reader b ON a.reader_id=b.id WHERE b.name LIKE '张%' ) AS c ON c.book_id=a.id WHERE a.flag=1; # 某个借阅者借阅........ insert into reader_book VALUES(null,21,21,now(),null) # 某个借阅者归还........ UPDATE reader_book set in_time=now() WHERE reader_id=1 AND
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测