网站地图优化,制作网页的网站有哪些,淘客网站要备案,在国外做外国的网站合法吗一#xff0c;创建数据库SaleSys
二#xff0c;在数据库SaleSys中创建3张表
品牌信息表#xff08;brand#xff09;
BrandId --品牌编号#xff0c;整型#xff0c;自动增长#xff0c;主键BrandName --品牌名称#xff0c;字符型#xff0c; 唯一约束
商品表…一创建数据库SaleSys
二在数据库SaleSys中创建3张表
品牌信息表brand
BrandId --品牌编号整型自动增长主键BrandName --品牌名称字符型 唯一约束
商品表Item
ItemId --商品编号整型自动增长主键ItemName --商品名称字符型非空唯一ItemBirth --生产日期非空ItemPrice --价格小数非空检查约束不能是负数BrandId --品牌编号非空外键
销量表sale
SaleId --销售编号整型自动增长主键ItemId --商品编号外键非空SaleNum --销售数量检查约束必须大于0SaleDate --成交时间非空 4三张表的参考数据如下 三完成如下查询题目
---------------------------------------------------------------------
--1、求表中最大的价格
--2、求每个品牌的最大价格
--3、求品牌最大的价格超过的品牌编号和价格
--4、求表中最小的价格
--5、求每个品牌的最小价格
--6、求品牌最小的价格小于的品牌编号和价格
--7、求生产日期在-08-08之后的每个品牌最小的价格小于的
--8、求表中价格的合计值
--9、求每个品牌的合计值
--10、求品牌合计值在到之间
--11、求所有产品的价格平均值
--12、求每一个品牌的平均值
--13、求品牌平均值是40、50、60的有哪些
--14、求一共有多少种产品
--15、求每个品牌有多少产品
--16、每个品牌产品数在1到2之间的
---------------------------------------------------------------------
--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-08到2015-09-10之间的产品的销售数量平均值、最大值、最低值
-- 3、统计出品牌下有商品的品牌数量
-- 4、求品牌编号为2的商品的平均值是40、50、60的有哪些商品
-- 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(ItemPrice0), -- 价格小数非空检查约束不能是负数
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(SaleNum0), -- 销售数量检查约束必须大于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 ItemBirth2013-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 ItemBirth2015-08-09;
-- 4、 查询Sale表统计出商品号为1的商品的销售平均销量
SELECT AVG(SaleNum) AS 销售平均销量 FROM Sale WHERE ItemId1;
-- 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);