MySQL每日一练--销售管理系统

news2024/11/23 11:34:11

一,创建数据库SaleSys

在数据库SaleSys中创建3张表

  • 品牌信息表(brand
  1. BrandId    --品牌编号,整型,自动增长,主键
  2. BrandName  --品牌名称,字符型, 唯一约束
  • 商品表(Item
  1. ItemId     --商品编号,整型,自动增长,主键
  2. ItemName   --商品名称,字符型,非空,唯一
  3. ItemBirth  --生产日期,非空
  4. ItemPrice  --价格,小数,非空,检查约束不能是负数
  5. BrandId --品牌编号,非空,外键
  • 销量表(sale
  1. SaleId     --销售编号,整型,自动增长,主键
  2. ItemId    --商品编号,外键非空
  3. SaleNum   --销售数量,检查约束必须大于0
  4. SaleDate  --成交时间,非空

    4,三张表的参考数据如下

  

三,完成如下查询题目

---------------------------------------------------------------------

--1、求表中最大的价格

--2、求每个品牌的最大价格

--3、求品牌最大的价格超过的品牌编号和价格

--4、求表中最小的价格

--5、求每个品牌的最小价格

--6、求品牌最小的价格小于的品牌编号和价格

--7、求生产日期在-08-08之后的,每个品牌最小的价格小于的

--8、求表中价格的合计值

--9、求每个品牌的合计值

--10、求品牌合计值在到之间

--11、求所有产品的价格平均值

--12、求每一个品牌的平均值

--13、求品牌平均值是405060的有哪些

--14、求一共有多少种产品

--15、求每个品牌有多少产品

--16、每个品牌产品数在12之间的

---------------------------------------------------------------------

--1  查询Item表,统计出品牌编号为1的商品的最大价格和最低价格是多少

--2  查询Item表,统计出一共有多少商品

--3  查询Item表,统计出生产日期在2015-08-09之前的商品的最大价格和商品总数

--4  查询Sale表,统计出商品号为1的商品的销售平均销量

--5  查询Sale表,统计出最大商品编号和最小商品编号

--6  查询Brand表,统计有多少品牌

--7  查询Brand表,统计出品牌中有""字的品牌有多少中

--8  查询Item表,统计出价格在100元之上的商品的合计价格

---------------------------------------------------------------------

-   1、统计销售表,获取销售总量、销售记录数、销售平均量各是多少

--  2、统计出销售日期在2015-08-082015-09-10之间的产品的销售数量平均值、最大值、最低值

--  3、统计出品牌下有商品的品牌数量

--  4、求品牌编号为2的商品的平均值是405060的有哪些商品

--  5、品牌编号为的产品合计值

--  6、求品牌合计值在大于的品牌

-- 一,	创建数据库SaleSys
-- 1,删除数据库
	DROP DATABASE IF EXISTS SaleSys;
-- 2,创建数据库
	CREATE DATABASE SaleSys;
-- 3,修改数据库编码方式和字符集排列顺序
	ALTER DATABASE SaleSys CHARACTER SET utf8 COLLATE utf8_bin;
-- 4,使用数据库
	USE SaleSys;
-- 5,查看当前所有数据库
	SHOW DATABASES;
-- 二,	在数据库SaleSys中创建3张表
-- 1,	品牌信息表(brand)
DROP TABLE IF EXISTS brand;
CREATE TABLE brand(
 BrandId INT PRIMARY KEY AUTO_INCREMENT,    -- 品牌编号,整型,自动增长,主键
 BrandName VARCHAR(20) UNIQUE  -- 品牌名称,字符型, 唯一约束
);
-- 2,	商品表(Item)
DROP TABLE IF EXISTS Item;
CREATE TABLE Item(
ItemId INT PRIMARY KEY AUTO_INCREMENT, 		-- 商品编号,整型,自动增长,主键
ItemName VARCHAR(20) UNIQUE NOT NULL, 	-- 商品名称,字符型,非空,唯一
ItemBirth DATETIME NOT NULL,       -- 生产日期,非空
ItemPrice FLOAT NOT NULL CHECK(ItemPrice>=0),	-- 价格,小数,非空,检查约束不能是负数
BrandId INT,
 FOREIGN KEY (BrandId) REFERENCES brand(BrandId)        -- 品牌编号,非空,外键
);
-- 3,	销量表(sale)
DROP TABLE IF EXISTS sale;
CREATE TABLE sale(
SaleId INT PRIMARY KEY AUTO_INCREMENT,       -- 销售编号,整型,自动增长,主键
ItemId INT NOT NULL,                         -- 商品编号,外键非空
SaleNum INT NOT NULL CHECK(SaleNum>=0),      -- 销售数量,检查约束必须大于0
SaleDate DATETIME NOT NULL,
 FOREIGN KEY (ItemId) REFERENCES Item(ItemId)    -- 成交时间,非空
);
-- 三添加数据
-- 1,添加品牌表brand数据		
INSERT INTO brand VALUES( DEFAULT,'戴尔');
INSERT INTO brand VALUES( DEFAULT,'华硕');
INSERT INTO brand VALUES( DEFAULT,'联想');
INSERT INTO brand VALUES( DEFAULT,'美化');
INSERT INTO brand VALUES( DEFAULT,'苹果');
SELECT * FROM brand;
-- 2,添加商品表item数据
INSERT INTO Item VALUES(DEFAULT,'电脑','2013-10-20 09:30:12',3999,1);
INSERT INTO Item VALUES(DEFAULT,'耳机','2014-05-21 21:32:54',44,2);
INSERT INTO Item VALUES(DEFAULT,'路由器','2014-05-21 21:32:54',55,2);
INSERT INTO Item VALUES(DEFAULT,'猫','2014-05-21 21:32:54',22,1);
INSERT INTO Item VALUES(DEFAULT,'键盘','2014-05-21 21:32:54',45,3);
INSERT INTO Item VALUES(DEFAULT,'可乐','2012-07-06 15:35:24',3.5,3);
INSERT INTO Item VALUES(DEFAULT,'手机','2015-04-13 14:34:55',3,4);
INSERT INTO Item VALUES(DEFAULT,'数据线','2015-05-19 08:20:52',79,5);
SELECT * FROM  Item;
-- 3,添加销售表sale数据
INSERT INTO sale VALUES(DEFAULT,1,2,'2015-05-29 16:21:53');
INSERT INTO sale VALUES(DEFAULT,1,50,'2015-05-29 19:15:23');
INSERT INTO sale VALUES(DEFAULT,2,50,'2015-05-29 19:15:23');
INSERT INTO sale VALUES(DEFAULT,2,20,'2015-05-29 19:15:23');
INSERT INTO sale VALUES(DEFAULT,2,50,'2015-05-29 19:15:23');
INSERT INTO sale VALUES(DEFAULT,3,16,'2015-05-29 21:40:08');
INSERT INTO sale VALUES(DEFAULT,3,5,'2015-05-29 12:06:35');
INSERT INTO sale VALUES(DEFAULT,5,12,'2015-05-29 09:00:45');
SELECT * FROM  sale;
-- 四,完成如下查询题目
-- -------------------------------------------------------------------
-- 1、求表中最大的价格
SELECT MAX(ItemPrice) 最大的价格 FROM item;
SELECT ItemPrice 最大的价格 FROM item ORDER BY ItemPrice DESC LIMIT 1;
-- 2、求每个品牌的最大价格
SELECT BrandId 品牌编号,MAX(ItemPrice) 最大的价格 FROM item GROUP BY BrandId;
-- 3、求品牌最大的价格超过50的品牌编号和价格
SELECT BrandId 品牌编号,MAX(ItemPrice) 最大的价格 FROM Item
GROUP BY BrandId HAVING MAX(ItemPrice)>=50;
-- 4、求表中最小的价格
SELECT MIN(ItemPrice) 最小的价格 FROM Item;
SELECT ItemPrice 最小的价格 FROM item ORDER BY ItemPrice LIMIT 1;
-- 5、求每个品牌的最小价格
SELECT BrandId 品牌编号,MIN(ItemPrice) 最小的价格 FROM item GROUP BY BrandId;
-- 6、求品牌最小的价格小于10的品牌编号和价格
SELECT BrandId 品牌编号,MIN(ItemPrice) 最小的价格 FROM item
GROUP BY BrandId HAVING MIN(ItemPrice)<10;
-- 7、求生产日期在2013-08-08之后的,每个品牌最小的价格小于50的
SELECT BrandId 品牌编号,MIN(ItemPrice) 最小的价格
FROM item WHERE ItemBirth>'2013-08-08'
GROUP BY BrandId HAVING MIN(ItemPrice)<50;
-- 8、求表中价格的合计值
SELECT SUM(ItemPrice) 价格的合计值 FROM Item;
-- 9、求每个品牌的合计值
SELECT BrandId 品牌编号,SUM(ItemPrice) 价格的合计值 FROM Item GROUP BY BrandId;
-- 10、求品牌合计值在到40-100之间
SELECT BrandId 品牌编号,SUM(ItemPrice) 价格的合计值 FROM Item 
GROUP BY BrandId HAVING SUM(ItemPrice) BETWEEN 40 AND 100;
-- 11、求所有产品的价格平均值
SELECT AVG(ItemPrice) 价格平均值 FROM Item;
-- 12、求每一个品牌的平均值
SELECT BrandId, AVG(ItemPrice) 每一个品牌的平均值 FROM Item GROUP BY BrandId;
-- 13、求品牌平均值是40、50、60的有哪些
SELECT BrandId 品牌编号 FROM Item GROUP BY BrandId HAVING AVG(ItemPrice) IN (40, 50, 60);
-- 14、求一共有多少种产品
SELECT COUNT(DISTINCT ItemName) 产品数 FROM Item;
-- 15、求每个品牌有多少产品
SELECT BrandId 品牌编号, COUNT(ItemName) 产品数 FROM Item GROUP BY BrandId;
-- 16、每个品牌产品数在1到2之间的
SELECT BrandId 品牌编号, COUNT(ItemName) 产品数 FROM Item GROUP BY BrandId HAVING COUNT(ItemName) BETWEEN 1 AND 2;
-- -------------------------------------------------------------------
-- 1、	查询Item表,统计出品牌编号为1的商品的最大价格和最低价格是多少
SELECT MAX(ItemPrice)最大价格,MIN(ItemPrice)最低价格 FROM Item WHERE BrandId = 1;
-- 2、	查询Item表,统计出一共有多少商品
SELECT COUNT(ItemId) 商品数 FROM Item;
-- 3、	查询Item表,统计出生产日期在2015-08-09之前的商品的最大价格和商品总数
SELECT MAX(ItemPrice) 最大价格, COUNT(ItemId) 商品总数 FROM Item WHERE ItemBirth<'2015-08-09';
-- 4、	查询Sale表,统计出商品号为1的商品的销售平均销量
SELECT AVG(SaleNum) AS 销售平均销量 FROM Sale WHERE ItemId=1;
-- 5、	查询Sale表,统计出最大商品编号和最小商品编号
SELECT MAX(ItemId) 最大商品编号, MIN(ItemId) 最小商品编号 FROM Item;
-- 6、	查询Brand表,统计有多少品牌
SELECT COUNT(*) 品牌数 FROM Brand;
-- 7、	查询Brand表,统计出品牌中有"水"字的品牌有多少中
SELECT COUNT(*) 有“水”字的品牌 FROM Brand WHERE BrandName LIKE '%水%';
-- 8、	查询Item表,统计出价格在100元之上的商品的合计价格
SELECT SUM(ItemPrice) 合计价格 FROM Item WHERE ItemPrice > 100;
-- -------------------------------------------------------------------
-- 1、统计销售表,获取销售总量、销售记录数、销售平均量各是多少
SELECT SUM(SaleNum) 销售总量,COUNT(*) 销售记录数,AVG(SaleNum) 销售平均量 FROM sale;
-- 2、统计出销售日期在2015-08-08到2015-09-10之间的产品的销售数量平均值、最大值、最低值
SELECT AVG(SaleNum) 销售数量平均值,MAX(SaleNum) 销售数量最大值, MIN(SaleNum) 销售数量最低值
FROM sale
WHERE SaleDate BETWEEN '2015-08-08' AND '2015-09-10';
-- 3、统计出品牌下有商品的品牌数量
SELECT COUNT(DISTINCT BrandName) AS 有商品的品牌数量 FROM Brand;
-- 4、求品牌编号为2的商品的平均值是40、50、60的有哪些商品
SELECT Item.ItemId 商品编号,Item.ItemName 商品名称
FROM Item 
JOIN sale ON Item.ItemId = sale.ItemId
WHERE BrandId = 4 AND ItemPrice IN (40,50,60);
-- 5、品牌编号为2的产品合计值
SELECT SUM(ItemPrice) 产品合计值
FROM Item
WHERE BrandId = 2;
-- 6、求品牌合计值在大于1000的品牌
SELECT BrandName 品牌名称
FROM Brand
WHERE BrandId=
(SELECT BrandId FROM Item GROUP BY BrandId HAVING SUM(ItemPrice) >1000);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/923571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DBi Tech Studio Controls for .NET Crack

DBi Tech Studio Controls for .NET Crack Studio Controls for.NET为企业开发人员提供了一套全面的Windows布局和信息表示软件元素&#xff0c;面向搜索业务分析商业调度和UI表示控制器的程序员。Studio Controls for.NET包含17个免版税的.NET Windows窗体控件&#xff0c;用于…

【谷粒商城】开发篇:微服务架构搭建

项目架构搭建 创建代码仓库 步骤一&#xff1a;在gitee中创建代码仓库 步骤二&#xff1a;在IDEA中 clone 项目 clone 结果展示 项目微服务创建 商品服务、仓储服务、订单服务、优惠券服务、用户服务 商品微服务创建 商品微服务创建 使用 Spring Initializr 创建微服务 通过…

Linux:ansible自动化运维工具

环境介绍 当前所有执行权限我是在root下执行的&#xff0c;如果提示权限之类的&#xff0c;可以在每句命令前 加上 sudo ansible主服务器 192.168.0.194 另外两个客户端分别为 192.168.0.193 192.168.0.192 软件只需要在主服务器上安装&#xff0c;客户端不需…

重注微电子产业,“三大齿轮”能否带起香港经济的“第三轮”

文 | 智能相对论 作者 | 佘凯文 众所周知&#xff0c;微电子产业早已成为现代科技领域的关键钥匙&#xff0c;谁能掌握微电子产业&#xff0c;谁就能拥有全球科技领域的话语权。 从上世纪开始&#xff0c;微电子产业曾经历过几次重大转移&#xff0c;如70年代从美国转向日本…

键入网址到网页显示,期间发生了什么?

目录 1.DNS2.可靠传输 —— TCP3.远程定位 —— IP4.两点传输 —— MAC5.出口 —— 网卡6.送别者 —— 交换机&#xff08;可省略&#xff09;7.出境大门 —— 路由器8.数据包抵达服务器后9.响应过程&#xff1a;带有MAC、IP、TCP头部的完整HTTP报文&#xff1a; 1.DNS 客户端…

阿里云故障洞察提效50%,全栈可观测建设有哪些技术要点?

一分钟精华速览 全栈可观测是一种更全面、更综合和更深入的观测能力&#xff0c;能协助全面了解和监测系统的各个层面和组件&#xff0c;它不仅仅是一个技术上的概念&#xff0c;更多地是技术与业务的结合。在“以业务为导向”的大前提下&#xff0c;全栈可观测正在成为趋势。…

【项目 计网6】 4.17 TCP三次握手 4.18滑动窗口 4.19TCP四次挥手

文章目录 4.17 TCP三次握手4.18滑动窗口4.19TCP四次挥手 4.17 TCP三次握手 TCP 是一种面向连接的单播协议&#xff0c;在发送数据前&#xff0c;通信双方必须在彼此间建立一条连接。所谓的“连接”&#xff0c;其实是客户端和服务器的内存里保存的一份关于对方的信息&#xff…

数据结构入门 — 链表详解_单链表

前言 数据结构入门 — 单链表详解* 博客主页链接&#xff1a;https://blog.csdn.net/m0_74014525 关注博主&#xff0c;后期持续更新系列文章 文章末尾有源码 *****感谢观看&#xff0c;希望对你有所帮助***** 系列文章 第一篇&#xff1a;数据结构入门 — 链表详解_单链表 第…

OS 用户级线程

这个程序执行到D&#xff0c;Yield&#xff08;&#xff09;跳到204&#xff0c;然后出栈404出错

2023 ccpc 网络赛 L 题解

Problem L. Partially Free Meal 题面 官方题解 官方题解解读 w(k,x)计算部分 主席树常规做法&#xff0c;在一般主席树中多维护一个这个区间的总和就ok了 根据单调性分治求解部分 接下来我们来推导一下单调性&#xff0c;也就是题解中的 f ( 1 ) < f ( 2 ) < f ( …

六、pikachu之目录遍历

文章目录 一、目录遍历概述二、目录遍历实战 一、目录遍历概述 在web功能设计中&#xff0c;很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值&#xff08;比如文件名…

鸡肋的RDP反制

更新时间&#xff1a;2023年07月19日09:18:29 为什么叫鸡肋&#xff1a; 鸡肋者&#xff0c;食之无肉&#xff0c;弃之有味。 你说不能成吧&#xff0c;但是有成功案例&#xff0c;你说成了吧&#xff0c;要求太高&#xff0c;还要看运气的。 一句话&#xff1a;对方需要开启…

如何通过PreMaint状态监测系统发现设备故障?

在现代工业领域&#xff0c;设备故障可能导致严重的生产中断和高额维修成本。然而&#xff0c;通过新兴的技术&#xff0c;如基于状态的维修&#xff0c;我们可以更早地发现故障并采取预防措施&#xff0c;从而实现生产的连续性和成本的降低。其中&#xff0c;PreMaint状态监测…

老板电器:劲草式企业才能穿越周期

材料力学上有两个概念&#xff1a;一个是韧性&#xff0c;用来形容材料在塑性变形和破裂过程中吸收能量的能力&#xff0c;韧性越好&#xff0c;发生脆性断裂的可能性越小&#xff1b;一个是塑性&#xff0c;是材料所受外力超过其弹性限度后具有的能永久保留形变的性质。 这两…

X2000 Linux UVC

参考文档&#xff1a;\doc\开发使用说明\USB使用说明文档\设备\USB_UVC\xburst2\USB_UVC.pdf 一、内核添加USB UVC功能 1、确定所用dts文件 进入到/tools/iconfigtool/IConfigToolApp/路径下&#xff0c;执行./IConfigTool 选择config文件&#xff0c;查看kernel默认配置 配…

油烟监管云平台在油烟净化技术中的应用研究

安科瑞 华楠 摘 要&#xff1a;介绍了生活中餐饮业油烟废气的排放特点、产生过程及其对人体和环境带来的环境&#xff0c;分析了餐饮油烟组成成分的成分特性及相关的致病症状。油烟净化器仍然是目前治理餐饮油烟比较有用的方法&#xff0c;基于高压静电原理的复合型油烟净化技…

前端面试手撕编程

目录 ES6 改变this call typeof this ! function context context || window context._this this delete context._this bind&#xff1a; return _this.apply(context, [...arguments].slice(1)); 深拷贝 !arr|| arr null || typeof arr ! object arr instanceof…

正则中常见的流派及其特性

目前正则表达式主要有两大流派&#xff08;Flavor&#xff09;&#xff1a;POSIX 流派与 PCRE 流派。 1、 POSIX 流派 POSIX 规范定义了正则表达式的两种标准&#xff1a; BRE 标准&#xff08;Basic Regular Expression 基本正则表达式&#xff09;&#xff1b;ERE 标准&am…

Android获取手机已安装应用列表JAVA实现

最终效果: 设计 实现java代码: //获取包列表private List<String> getPkgList() {List<String> packages new ArrayList<String>();try {//使用命令行方式获取包列表Process p Runtime.getRuntime().exec("pm list packages");//取得命令行输出…

【微信小程序开发】一文带你详解小程序组件和 API 的使用

引言 在小程序开发中&#xff0c;组件和API是非常重要的部分&#xff0c;它们可以帮助我们构建丰富的用户界面和实现各种功能。本文将介绍小程序中常用的组件和API&#xff0c;并提供相应的代码示例。 文章目录 引言组件文本组件图片组件按钮组件输入框组件列表组件 API网络请…