【数据库】【SQL语句汇总】*MySQL数据库,总结补充!!!#数据库SQL语句汇总#(二)-2018.11.26- #黑马#
SQL语句汇总:
- 数据库的操作离不开对数据的增删改查!其中最主要的便是“查”这一项!!!
- 第三部分:关于数据库SQL语句——聚合函数的应用(以案例分析解释):
一、SQL最主要的聚合函数有:
- count():统计指定列不为NULL的记录行数;
- sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
- max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
- min():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
- avg():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
二、具体案例:
- 建库建表:
#建库:
CREATE DATABASE myDatabase;
#建表:
CREATE TABLE product(
pid INT PRIMARY KEY,
pname VARCHAR(20),
price DOUBLE,
category_id VARCHAR(32)
);
#添加数据:
INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(4,'JACK JONES',800,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(11,'好想你枣',56,'c004');
INSERT INTO product(pid,pname,price,category_id) VALUES(12,'香飘飘奶茶',1,'c005');
INSERT INTO product(pid,pname,price,category_id) VALUES(13,'果9',1,NULL);
- cmd命令行中结果如图:
三、具体操作和SQL解析:
#查询所有商品
SELECT * FROM product;
#查询商品的总条数
SELECT COUNT(*) FROM product;
#查询商品的所有价格
SELECT price FROM product;
#查询商品的价格和
SELECT SUM(price) FROM product;
#查询价格大于200商品
SELECT * FROM product WHERE price>200;
#查询价格大于200商品的总条数
SELECT COUNT(*) AS '价格>200的总条数' FROM product WHERE price>200;
#查询分类为'c001'的所有商品价格
SELECT price FROM product WHERE category_id='c001';
#查询分类为'c001'的所有商品的总和
SELECT SUM(price) FROM product WHERE category_id='c001';
#查询分类为'c002'所有商品的价格
SELECT price FROM product WHERE category_id='c002';
#查询分类为'c002'所有商品的平均价格
SELECT AVG(price) FROM product WHERE category_id='c002';
#查询商品的价格
SELECT price FROM product;
#查询商品的最大价格
SELECT MAX(price) FROM product;
#查询商品的最小价格
SELECT MIN(price) FROM product;
#查询商品的最大价格和最小价格
SELECT MAX(price),MIN(price) FROM product;
SELECT MAX(price) 最大值,MIN(price) 最小值 FROM product;
#查询pid为1 3 7 商品价格
SELECT price FROM product WHERE pid IN(1,3,7);
#查询pid为1 3 7 商品价格的平均值
SELECT AVG(price) FROM product WHERE pid IN(1,3,7);
#添加pid为14,pname='娃哈哈',price=null
SELECT * FROM product;
#查询pid为1 3 7 14 商品价格的平均值,结果发现,price=null的这条记录,被忽略了
SELECT AVG(price) FROM product WHERE pid IN(1,3,7,14);//总和/个数
#------------------------------------------------------------------------
#结合子查询相关的sql查询,需要多加积累和练习!!!
【Tip:SQL就是得多练。关于程序什么的就得多操作,“什么东西都是这样,积累的多了,自然而然的复杂的就回了!”。】