MySQL & Navicat(二)基础语法和基础函数的练习

文章目录

  • 一、基础语法练习
    • 题目
    • 答案
  • 二、基础函数练习
    • 题目
    • 答案

一、基础语法练习

题目

MySQL & Navicat(二)基础语法和基础函数的练习_第1张图片

答案

DROP TABLE IF EXISTS t_shop_xs;

CREATE TABLE t_shop_xs(
id INT PRIMARY KEY AUTO_INCREMENT,
销售编号 VARCHAR(16) NOT NULL,
销售日期 VARCHAR(16) NOT NULL,
销售数量 INT NOT NULL,
商品单价 DOUBLE NOT NULL,
销售总金额 DOUBLE NOT NULL,
销售员工 VARCHAR(16) NOT NULL
);

INSERT INTO `t_shop_xs` VALUES (1, 'xsl001', '2013/12/2', 124, 134.5, 16678, '张三');
INSERT INTO `t_shop_xs` VALUES (2, 'xsl002', '2013/12/2', 50, 80, 4000, '李四');
INSERT INTO `t_shop_xs` VALUES (3, 'xsl003', '2013/12/5', 66, 55, 3630, '张三');
INSERT INTO `t_shop_xs` VALUES (4, 'xsl001', '2013/11/20', 10, 134.5, 1345, '张三');
INSERT INTO `t_shop_xs` VALUES (5, 'xsl001', '2013/11/2', 20, 134.5, 2690, '王五');
INSERT INTO `t_shop_xs` VALUES (6, 'xsl002', '2013/11/5', 30, 80, 2400, '张三');
INSERT INTO `t_shop_xs` VALUES (7, 'xsl002', '2013/11/9', 23, 80, 1840, '王五');
INSERT INTO `t_shop_xs` VALUES (8, 'xsl003', '2013/12/11', 10, 55, 550, '李四');
INSERT INTO `t_shop_xs` VALUES (9, 'xsl003', '2013/12/12', 50, 55, 2750, '王五');
INSERT INTO `t_shop_xs` VALUES (10, 'xsl004', '2013/11/30', 45, 100, 4500, '张三');

--使用WHERE限定
SELECT * FROM `t_shop_xs` 
WHERE 销售员工 = '张三' ;

--指定月份使用DATE_FORMAT判断
SELECT * FROM `t_shop_xs` 
WHERE 销售员工 = '张三' AND DATE_FORMAT(销售日期,'%m')="12";

SELECT * FROM `t_shop_xs` 
WHERE 销售总金额>2000 AND DATE_FORMAT(销售日期,'%m')="12" ;

--限制从1-10条内
SELECT * FROM `t_shop_xs`
LIMIT 10;

SELECT * FROM `t_shop_xs`
WHERE 商品编号= 'xsl001'
LIMIT 10;

SELECT * FROM `t_shop_xs`
WHERE 销售数量>20 AND 销售员工='李四';

SELECT 商品编号,销售总金额,销售员工 FROM `t_shop_xs`
WHERE 销售员工='王五'
LIMIT 5;

--限定时间区间
SELECT * FROM `t_shop_xs`
WHERE DATE_FORMAT(销售日期,"%Y-%m-%d") BETWEEN "2013-11-20" AND "2013-12-10";

--限定偏移量,第一条偏移量为0
SELECT * FROM `t_shop_xs`
WHERE 商品单价>100 or 销售数量>50
LIMIT 8
offset 2;

二、基础函数练习

题目

MySQL & Navicat(二)基础语法和基础函数的练习_第2张图片

答案

create table t_shop(
		s_id int primary key auto_increment,
		s_shopcode varchar(30),   
		s_name varchar(40),        
		s_price int ,           
		s_class   varchar(50)  
	);
	
	insert into t_shop(s_shopcode,s_name,s_price,s_class) values 
	('n11','橙子',9,'水果'),
	('x330','血橙',11,'水果'),
	('yx673','柚子',7,'水果'),
	('n12','白菜',2,'蔬菜'),
	('a13','冬瓜',3,'蔬菜'),
	('n14','西瓜',4,'水果'),
	('n15','丝瓜',5,'蔬菜'),
	('c16','苦瓜',6,'蔬菜'),
	('m17','南瓜',5,'蔬菜'),
	('d18','茄子',6,'蔬菜');

--使用like关键字判断包含某一字符(串)
SELECT * FROM t_shop
WHERE s_name like "%瓜%";

SELECT * FROM t_shop
WHERE s_price between 1 and 8;

--使用MAX函数显示某一列的最大值
SELECT MAX(s_price) FROM t_shop;

--降序筛选前三
SELECT * FROM t_shop
ORDER BY s_price DESC
LIMIT 3;

--使用AVG函数得到某一列的均值
SELECT AVG(s_price) FROM t_shop;

SELECT AVG(s_price) FROM t_shop
WHERE s_name like "%瓜%";

--使用SELECT、MAX、MIN得到最值作商
SELECT((SELECT MAX(s_price) FROM t_shop)/(SELECT MIN(s_price) FROM t_shop));

--COUNT计数
SELECT COUNT(s_name) FROM t_shop
WHERE s_name like "%橙%";

--更新数据(注意:WHERE不可省)
UPDATE t_shop
SET s_price = 2
WHERE s_name = '西瓜';

--删除数据,使用in关键字创建范围
DELETE FROM t_shop
WHERE s_id in (4,9,1);

SELECT MAX(s_price) FROM t_shop
WHERE s_class = '蔬菜'

欢迎在评论区留言
感谢浏览

你可能感兴趣的:(#,MySQL,mysql,数据库)