From c4360ba9d91ce8959bb55613694d5ea0e24b2acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E6=AD=A3=E6=B3=A2?= <1938448998@qq.com> Date: Thu, 9 Mar 2023 21:01:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=9C=88=E4=B9=9D=E5=8F=B7=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\345\272\223\347\273\203\344\271\2402.md" | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 "09 \346\233\271\346\255\243\346\263\242/20230309 MySQL\346\225\260\346\215\256\345\272\223\347\273\203\344\271\2402.md" diff --git "a/09 \346\233\271\346\255\243\346\263\242/20230309 MySQL\346\225\260\346\215\256\345\272\223\347\273\203\344\271\2402.md" "b/09 \346\233\271\346\255\243\346\263\242/20230309 MySQL\346\225\260\346\215\256\345\272\223\347\273\203\344\271\2402.md" new file mode 100644 index 0000000..432446b --- /dev/null +++ "b/09 \346\233\271\346\255\243\346\263\242/20230309 MySQL\346\225\260\346\215\256\345\272\223\347\273\203\344\271\2402.md" @@ -0,0 +1,81 @@ +# 作业 + +```mysql +create database lianxi2 charset utf8; +use lianxi2; +drop table riqi; +create table riqi( -- 日期表 +orderID int primary key,-- 订单编号 +orderDate datetime -- 订购日期 +); +create table shuju( -- 订单数据表 +itemID int(2), +orderID int, -- 订单编号 +foreign key(orderID) references riqi(orderID), +itemType varchar(10), -- 产品类型 +itemName varchar(10), -- 产品名称 +theNumber int(2),-- 订购数量 +theMoney int(2) -- 订购单价 +); +insert into riqi values +(1,'2008-01-12 00:00:00.000'), +(2,'2008-02-10 00:00:00.000'), +(3,'2008-02-15 00:00:00.000'), +(4,'2008-03-10 00:00:00.000'); +insert into shuju values +(1,1,'文具','笔',72,2), +(2,1,'文具','尺',10,1), +(3,1,'体育用品','篮球',1,56), +(4,2,'文具','笔',36,2), +(5,2,'文具','固体胶',20,3), +(6,2,'日常用品','透明胶',2,1), +(7,2,'体育用品','羽毛球',20,3), +(8,3,'文具','订书机',20,3), +(9,3,'文具','订书针',10,3), +(10,3,'文具','裁纸刀',5,5), +(11,4,'文具','笔',20,2), +(12,4,'文具','信纸',50,1), +(13,4,'日常用品','毛巾',4,5), +(14,4,'日常用品','透明胶',30,1), +(15,4,'体育用品','羽毛球',20,3); +-- 根据图示,完成下列题目: + +-- 1.查询所有的订单的订单的编号,订单日期,订购产品的类别和订购的产品名称,订购数量和订购单价 +select + a.orderID,a.orderDate,b.itemType,b.itemName,b.theNumber,b.theMoney + from riqi a right join shuju b on +a.orderID=b.orderID; + +-- 2.查询订购数量大于50的订单的编号,订单日期,订购产品的类别和订购的产品名称 +select b.orderID,b.orderDate,a.itemType,a.itemName from shuju a right join riqi b on a.orderID=b.orderID +where a.theNumber in (select shuju.theNumber from shuju where shuju.theNumber>50); +-- 3.查询所有的订单的订单的编号,订单日期,订购产品的类别和订购的产品名称,订购数量和订购单价以及订购总价 +select + a.orderID,a.orderDate,b.itemType,b.itemName,b.theNumber,b.theMoney,b.theNumber*b.theMoney 总价 + from riqi a right join shuju b on +a.orderID=b.orderID; +-- 4.查询单价大于等于5 或者 数量大于等于50的订单的订单的编号,订单日期,订购产品的类别和订购的产品名称,订购数量和订购单价以及订购总价 +select + a.orderID,a.orderDate,b.itemType,b.itemName,b.theNumber,b.theMoney,b.theNumber*b.theMoney 总价 + from riqi a right join shuju b on +a.orderID=b.orderID +where b.theMoney=(select shuju.theMoney from shuju where shuju.theMoney>5)or b.theNumber>=50; +-- 5.查询每个订单分别订购了几个产品,例如: +-- 编号 订购产品数 +-- 1 3 +-- 2 4 +select shuju.orderID,count(shuju.itemName) + from shuju group by shuju.orderID; +-- 6.查询每个订单里的每个类别的产品分别订购了几次和总数量,例如: +select a.orderID,a.itemType,count(*),sum(a.theNumber) +from shuju a +group by a.orderID,a.itemType +-- 订单编号 产品类别 订购次数 总数量 +-- +-- 1 文具 2 82 +-- 1 体育用品 1 1 +-- 2 文具 2 56 +-- 2 体育用品 1 2 +-- 2 日常用品 1 20 +``` + -- Gitee