【MySQL】MySQL(一)SQL语句、约束、数据类型 (4)

条件查询语法

-- 标准语法 SELECT 列名 FROM 表名 WHERE 条件; -- 查询库存大于20的商品信息 SELECT * FROM product WHERE stock > 20; -- 查询品牌为华为的商品信息 SELECT * FROM product WHERE brand=\'华为\'; -- 查询金额在4000 ~ 6000之间的商品信息 SELECT * FROM product WHERE price >= 4000 AND price <= 6000; SELECT * FROM product WHERE price BETWEEN 4000 AND 6000; -- 查询库存为14、30、23的商品信息 SELECT * FROM product WHERE stock=14 OR stock=30 OR stock=23; SELECT * FROM product WHERE stock IN(14,30,23); -- 查询库存为null的商品信息 SELECT * FROM product WHERE stock IS NULL; -- 查询库存不为null的商品信息 SELECT * FROM product WHERE stock IS NOT NULL; -- 查询名称以小米为开头的商品信息 SELECT * FROM product WHERE NAME LIKE \'小米%\'; -- 查询名称第二个字是为的商品信息 SELECT * FROM product WHERE NAME LIKE \'_为%\'; -- 查询名称为四个字符的商品信息 SELECT * FROM product WHERE NAME LIKE \'____\'; -- 查询名称中包含电脑的商品信息 SELECT * FROM product WHERE NAME LIKE \'%电脑%\';

聚合函数

将一列数据作为一个整体,进行纵向的计算

聚合函数分类

函数名 功能
count(列名)   统计数量(一般选用不为null的列)  
max(列名)   最大值  
min(列名)   最小值  
sum(列名)   求和  
avg(列名)   平均值  

聚合函数语法

-- 标准语法 SELECT 函数名(列名) FROM 表名 [WHERE 条件]; -- 计算product表中总记录条数 SELECT COUNT(*) FROM product; -- 获取最高价格 SELECT MAX(price) FROM product; -- 获取最高价格的商品名称 SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product); -- 获取最低库存 SELECT MIN(stock) FROM product; -- 获取最低库存的商品名称 SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product); -- 获取总库存数量 SELECT SUM(stock) FROM product; -- 获取品牌为苹果的总库存数量 SELECT SUM(stock) FROM product WHERE brand=\'苹果\'; -- 获取品牌为小米的平均商品价格 SELECT AVG(price) FROM product WHERE brand=\'小米\';

排序查询

排序分类

注意:多个排序条件,当前边的条件值一样时,才会判断第二条件

关键词 功能
ORDER BY 列名1 排序方式1,列名2 排序方式2   对指定列排序,ASC升序(默认的) DESC降序  

排序语法

-- 标准语法 SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2; -- 按照库存升序排序 SELECT * FROM product ORDER BY stock ASC; -- 查询名称中包含手机的商品信息。按照金额降序排序 SELECT * FROM product WHERE NAME LIKE \'%手机%\' ORDER BY price DESC; -- 按照金额升序排序,如果金额相同,按照库存降序排列 SELECT * FROM product ORDER BY price ASC,stock DESC;

分组查询

-- 标准语法 SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式]; -- 按照品牌分组,获取每组商品的总金额 SELECT brand,SUM(price) FROM product GROUP BY brand; -- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额 SELECT brand,SUM(price) FROM product WHERE price > 4000 GROUP BY brand; -- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的 SELECT brand,SUM(price) AS getSum FROM product WHERE price > 4000 GROUP BY brand HAVING getSum > 7000; -- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的、并按照总金额的降序排列 SELECT brand,SUM(price) AS getSum FROM product WHERE price > 4000 GROUP BY brand HAVING getSum > 7000 ORDER BY getSum DESC;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwggj.html