mysql的一些练习题

版权声明: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');

猜你喜欢

转载自blog.csdn.net/weixin_43190126/article/details/84777460
今日推荐