版权声明:JAVA https://blog.csdn.net/weixin_43190126/article/details/84777460
需求:查询所有货品信息
SELECT * FROM product
需求:查询所有货品的id,productName,salePrice
SELECT id,productName,salePrice FROM product
需求:避免数据重复
SELECT DISTINCT dir_id FROM product
需求:查询所有货品的id,名称和批发价(批发价=卖价*折扣)
SELECT id, productName as 名称, salePrice*cutoff as 批发价 FROM product
需求:查询所有货品的id,名称,和各进50个的成本价(成本=costPirce)
SELECT id, productName, 50*costPrice FROM product
需求:查询所有货品的id,名称,各进50个,并且每个运费1元的成本
SELECT id, productName, 50*(costPrice+1) FROM product
需求:查询商品的名字和零售价。格式:xxx商品的零售价为:xxx
SELECT CONCAT(productName,"商品的零售价为:",salePrice) FROM product
需求:查询商品名为NULL的所有商品信息。
SELECT * FROM product WHERE productName is NULL
需求: 查询id,货品名称,货品名称匹配'%罗技M9_'
SELECT id, productName FROM product WHERE productName LIKE '%罗_'
需求: 查询id,货品名称,分类编号,零售价大于等于200并且货品名称匹配'%罗技M1_'
SELECT id, productName,dir_id FROM product WHERE salePrice >= 200 AND productName LIKE '%罗技M%'
需求: 查询货品零售价为119的所有货品信息.
select * FROM product WHERE salePrice = 119
需求: 查询货品名为罗技G9X的所有货品信息.
select * FROM product WHERE productName = '罗技G9X'
需求: 查询货品名 不为 罗技G9X的所有货品信息.
select * FROM product WHERE productName <> '罗技G9X'
需求: 查询分类编号不等于2的货品信息
select * FROM product WHERE dir_id <> 2
需求: 查询货品名称,零售价小于等于200的货品
select productName FROM product WHERE salePrice <= 200
需求: 查询id,货品名称,批发价大于350的货品
select id, productName FROM product WHERE salePrice*cutoff > 350
需求: 选择id,货品名称,批发价在300-400之间的货品
select id, productName FROM product WHERE salePrice*cutoff > 300 AND salePrice*cutoff < 400
需求: 选择id,货品名称,分类编号为2,4的所有货品
select id, productName FROM product WHERE dir_id = 2 or dir_id = 4
需求: 选择id,货品名词,分类编号不为2的所有商品
select id, productName FROM product WHERE dir_id != 2
需求: 选择id,货品名称,货品零售价大于等于250或者是成本大于等于200
select id, productName FROM product WHERE salePrice>=250 or costPrice>=200
需求: 选择id,货品名称,批发价在300-400之间的货品
select id, productName FROM product WHERE salePrice*cutoff BETWEEN 300 AND 400
需求: 选择id,货品名称,批发价不在300-400之间的货品
select id, productName FROM product WHERE NOT salePrice*cutoff BETWEEN 300 AND 400
需求:选择id,货品名称,分类编号为2,4的所有货品
select id, productName ,dir_id FROM product WHERE dir_id IN(2,4)
需求:选择id,货品名称,分类编号不为2,4的所有货品
select id, productName ,dir_id FROM product WHERE dir_id NOT IN(2,4)
需求:查询M系列并按照批发价排序(加上别名)
SELECT productName as 商品名, salePrice*cutoff as 批发价 FROM product WHERE productName LIKE '%M%' ORDER BY 批发价 DESC
需求:查询分类为2并按照批发价排序(加上别名)
SELECT productName as 商品名, salePrice*cutoff as 批发价 FROM product WHERE dir_id = 2 ORDER BY 批发价 DESC
需求:查询商品,先按分类编号排序,如果分类编号一样,则按售价排序
SELECT * FROM product ORDER BY dir_id ,salePrice DESC
需求:查询所有商品,并且分页
SELECT * from product LIMIT 0, 5
需求:分页查询
每页最多3条记录: pageSize = 3: pageNo 表示第几页
------------------------------------------
第一页: 0
第二页: 3
第三页: 6
第四页: 9
第七页:
第N页:
SELECT * from product LIMIT pageSize*(pageNo-1), pageSize
需求: 求所有商品售价总和
SELECT SUM(salePrice) as 总价 from product
需求: 求所有商品售价平均价
SELECT AVG(salePrice) as 总价 from product
需求: 求所有商品总数
SELECT COUNT(*) as 总数 from product
需求: 查询每个商品分类编号和每个商品分类各自的商品总数。
SELECT dir_id,COUNT(dir_id) FROM product GROUP BY dir_id
需求: 查询每个商品分类编号和每个商品分类中零售价大于100的商品总数
SELECT SUM(salePrice) FROM product WHERE salePrice >100 GROUP BY dir_id
需求: 查询每个商品分类编号和每个商品分类中零售价的平均值大于100 的商品总数
SELECT dir_id,COUNT(dir_id) FROM product GROUP BY dir_id HAVING AVG(salePrice) > 100
附上三张表:(用的时候直接导入MySQL就行了)
1:product
/*
MySQL Data Transfer
Source Host: localhost
Source Database: mysqltest
Target Host: localhost
Target Database: mysqltest
Date: 2011-3-12 20:41:24
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for product
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
`id` bigint(11) NOT NULL auto_increment,
`productName` varchar(50) default NULL,
`dir_id` bigint(11) default NULL,
`salePrice` double(10,2) default NULL,
`supplier` varchar(50) default NULL,
`brand` varchar(50) default NULL,
`cutoff` double(2,2) default NULL,
`costPrice` double(10,2) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `product` VALUES ('1', '罗技M90', '3', '90.00', '罗技', '罗技', '0.50', '35.00');
INSERT INTO `product` VALUES ('2', '罗技M100', '3', '49.00', '罗技', '罗技', '0.90', '33.00');
INSERT INTO `product` VALUES ('3', '罗技M115', '3', '99.00', '罗技', '罗技', '0.60', '38.00');
INSERT INTO `product` VALUES ('4', '罗技M125', '3', '80.00', '罗技', '罗技', '0.90', '39.00');
INSERT INTO `product` VALUES ('5', '罗技木星轨迹球', '3', '182.00', '罗技', '罗技', '0.80', '80.00');
INSERT INTO `product` VALUES ('6', '罗技火星轨迹球', '3', '349.00', '罗技', '罗技', '0.87', '290.00');
INSERT INTO `product` VALUES ('7', '罗技G9X', '3', '680.00', '罗技', '罗技', '0.70', '470.00');
INSERT INTO `product` VALUES ('8', '罗技M215', '2', '89.00', '罗技', '罗技', '0.79', '30.00');
INSERT INTO `product` VALUES ('9', '罗技M305', '2', '119.00', '罗技', '罗技', '0.82', '48.00');
INSERT INTO `product` VALUES ('10', '罗技M310', '2', '135.00', '罗技', '罗技', '0.92', '69.80');
INSERT INTO `product` VALUES ('11', '罗技M505', '2', '148.00', '罗技', '罗技', '0.92', '72.00');
INSERT INTO `product` VALUES ('12', '罗技M555', '2', '275.00', '罗技', '罗技', '0.88', '140.00');
INSERT INTO `product` VALUES ('13', '罗技M905', '2', '458.00', '罗技', '罗技', '0.88', '270.00');
INSERT INTO `product` VALUES ('14', '罗技MX1100', '2', '550.00', '罗技', '罗技', '0.76', '300.00');
INSERT INTO `product` VALUES ('15', '罗技M950', '2', '678.00', '罗技', '罗技', '0.78', '320.00');
INSERT INTO `product` VALUES ('16', '罗技MX Air', '2', '1299.00', '罗技', '罗技', '0.72', '400.00');
INSERT INTO `product` VALUES ('17', '罗技G1', '4', '155.00', '罗技', '罗技', '0.80', '49.00');
INSERT INTO `product` VALUES ('18', '罗技G3', '4', '229.00', '罗技', '罗技', '0.77', '96.00');
INSERT INTO `product` VALUES ('19', '罗技G500', '4', '399.00', '罗技', '罗技', '0.88', '130.00');
INSERT INTO `product` VALUES ('20', '罗技G700', '4', '699.00', '罗技', '罗技', '0.79', '278.00');
2:productdir
/*
MySQL Data Transfer
Source Host: localhost
Source Database: mysqltest
Target Host: localhost
Target Database: mysqltest
Date: 2011-3-12 20:41:35
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for productdir
-- ----------------------------
DROP TABLE IF EXISTS `productdir`;
CREATE TABLE `productdir` (
`id` bigint(11) NOT NULL auto_increment,
`dirName` varchar(30) default NULL,
`parent_id` bigint(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `productdir` VALUES ('1', '鼠标', null);
INSERT INTO `productdir` VALUES ('2', '无线鼠标', '1');
INSERT INTO `productdir` VALUES ('3', '有线鼠标', '1');
INSERT INTO `productdir` VALUES ('4', '游戏鼠标', '1');
3:prodictstock
/*
MySQL Data Transfer
Source Host: localhost
Source Database: mysqltest
Target Host: localhost
Target Database: mysqltest
Date: 2013-3-12 20:41:42
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for productstock
-- ----------------------------
DROP TABLE IF EXISTS `productstock`;
CREATE TABLE `productstock` (
`id` bigint(11) NOT NULL auto_increment,
`product_id` bigint(11) default NULL,
`storeNum` int(10) default NULL,
`lastIncomeDate` datetime default NULL,
`lastOutcomeDate` datetime default NULL,
`warningNum` int(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `productstock` VALUES ('1', '1', '182', '2013-03-12 20:33:00', '2013-03-12 20:33:04', '20');
INSERT INTO `productstock` VALUES ('2', '2', '27', '2013-03-02 20:33:28', '2013-03-09 20:33:40', '20');
INSERT INTO `productstock` VALUES ('3', '3', '89', '2013-02-28 20:34:13', '2013-03-12 20:34:19', '20');
INSERT INTO `productstock` VALUES ('4', '5', '19', '2013-03-01 20:34:43', '2013-03-12 20:34:48', '20');
INSERT INTO `productstock` VALUES ('5', '6', '3', '2013-02-01 20:35:12', '2013-03-02 20:35:16', '5');
INSERT INTO `productstock` VALUES ('6', '7', '2', '2013-02-02 20:35:59', '2013-02-27 20:36:05', '3');
INSERT INTO `productstock` VALUES ('7', '8', '120', '2013-03-12 20:36:31', '2013-03-12 20:36:33', '20');
INSERT INTO `productstock` VALUES ('8', '9', '58', '2013-03-02 20:36:50', '2013-03-12 20:36:53', '20');
INSERT INTO `productstock` VALUES ('9', '11', '28', '2013-03-02 20:37:12', '2013-03-12 20:37:15', '20');
INSERT INTO `productstock` VALUES ('10', '12', '8', '2013-03-02 20:37:35', '2013-03-09 20:37:38', '5');
INSERT INTO `productstock` VALUES ('11', '13', '3', '2013-03-02 20:37:58', '2013-03-12 20:38:01', '5');
INSERT INTO `productstock` VALUES ('12', '14', '6', '2013-03-02 20:38:20', '2013-03-07 20:38:23', '5');
INSERT INTO `productstock` VALUES ('13', '15', '2', '2013-02-02 20:38:38', '2013-02-24 20:38:44', '5');
INSERT INTO `productstock` VALUES ('14', '16', '3', '2013-02-02 20:39:05', '2013-02-06 20:39:09', '3');
INSERT INTO `productstock` VALUES ('15', '17', '49', '2013-03-02 20:39:36', '2013-03-12 20:39:40', '20');
INSERT INTO `productstock` VALUES ('16', '18', '14', '2013-03-02 20:39:57', '2013-03-09 20:40:01', '10');
INSERT INTO `productstock` VALUES ('17', '20', '7', '2013-03-02 20:40:22', '2013-03-03 20:40:25', '5');