From 2f85f43515518752466fb574c2b9836c76ca5e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=9C=87=E6=B4=8B?= <11785166+hzyai77@user.noreply.gitee.com> Date: Thu, 9 Mar 2023 00:04:11 +0000 Subject: [PATCH] =?UTF-8?q?=E7=BB=83=E4=B9=A0=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 韩震洋 <11785166+hzyai77@user.noreply.gitee.com> --- .../20230308 \347\273\203\344\271\2402.md" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "40 \351\237\251\351\234\207\346\264\213/20230308 \347\273\203\344\271\2402.md" diff --git "a/40 \351\237\251\351\234\207\346\264\213/20230308 \347\273\203\344\271\2402.md" "b/40 \351\237\251\351\234\207\346\264\213/20230308 \347\273\203\344\271\2402.md" new file mode 100644 index 0000000..c3be06f --- /dev/null +++ "b/40 \351\237\251\351\234\207\346\264\213/20230308 \347\273\203\344\271\2402.md" @@ -0,0 +1,71 @@ +```mysql +create database student charset utf8; +use student; +create table tool ( +orderid int PRIMARY KEY, +orderdate date); +insert into tool 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'); +create table tooll ( +itemid int, +orderid int , +itemtype varchar(255), +itemname varchar(25), +thenumber int, +themoney int, +FOREIGN key (orderid) REFERENCES tool(orderid) +); +insert into tooll 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 * from tool left join tooll on tool.orderid = tooll.orderid; +-- 2.查询订购数量大于50的订单的编号,订单日期,订购产品的类别和订购的产品名称 +select * from tool left join tooll on tool.orderid = tooll.orderid where thenumber>50; + +-- 3.查询所有的订单的订单的编号,订单日期,订购产品的类别和订购的产品名称,订购数量和订购单价以及订购总价 + select distinct itemid,tooll.orderid,itemtype,itemname,thenumber,themoney,(thenumber*themoney) 订购总价 from tool left join tooll on tool.orderid = tool.orderid; + +-- 4.查询单价大于等于5 或者 数量大于等于50的订单的订单的编号,订单日期,订购产品的类别和订购的产品名称,订购数量和订购单价以及订购总价 +select itemid,tooll.orderid,itemtype,itemname,thenumber,themoney,(thenumber*themoney) 订购总价 from tool left join tooll on tool.orderid = tooll.orderid where themoney>=5 or thenumber >=50; + +-- 5.查询每个订单分别订购了几个产品,例如: +-- 编号 订购产品数 + -- 1 3 +-- 2 4 +select itemid,thenumber from tooll where orderid = 1 +union +select itemid,thenumber from tooll where orderid = 2; +-- 6.查询每个订单里的每个类别的产品分别订购了几次和总数量,例如: +select orderid,itemtype,thenumber,sum(orderid) from tooll where orderid = 1 group by itemtype +union +select orderid,itemtype,thenumber,sum(orderid) from tooll where orderid = 2 group by itemtype +union +select orderid,itemtype,thenumber,sum(orderid) from tooll where orderid = 3 group by itemtype +union +select orderid,itemtype,thenumber,sum(orderid) from tooll where orderid = 4 group by itemtype; + +-- 订单编号 产品类别 订购次数 总数量 +-- +-- 1 文具 2 82 +-- 1 体育用品 1 1 +-- 2 文具 2 56 +-- 2 体育用品 1 2 +-- 2 日常用品 1 20 +-- +``` + -- Gitee