MySQL结果集 数据查询(重点)
如下:
SELECT * FROM product;-- 查询所有列 SELECT pro_id,pro_name FROM product;-- 查询指定列 SELECT pro_name AS '产品名称',price FROM product;-- 添加常量列 把pro_id改为“产品名称”(添加常量列只是显示这个名称,查询后还是原来的)并查询 SELECT pro_id,(protype+price)AS'总价格' FROM product;-- 查询时合并列 protype+price两列相加合并添加常量列 注意:合并列只能合并数值类型的字段 SELECT DISTINCT protype FROM product;-- 查询时去除重复列 SELECT * FROM product WHERE pinpai='索尼'AND chandi='深圳';-- 条件查询 and(并且) or(或者) SELECT * FROM product WHERE protype>1;-- 比较查询 > < >= <= = <>(不等于) SELECT * FROM product WHERE protype BETWEEN 1 AND 2;-- 查询protype在1和2之间的 (等价于>=1 并且 <=2) SELECT * FROM product WHERE protype >=1 AND protype <=2;
-- null和''(空字符串)得区别 -- null 用is null / is not nul -- 空字符串 用 ='' / <>''
SELECT * FROM product WHERE protype IS NULL;-- 查询protype是null的 SELECT * FROM product WHERE protype IS NOT NULL;-- 查询protype不是mull的 SELECT * FROM product WHERE protype = '';-- 查询protype是空字符串的 SELECT * FROM product WHERE protype <> '';-- 查询protype不是空字符串的 -- 查询product不为空的 SELECT * FROM product WHERE protype IS NOT NULL AND protype <> '';
-- 查询所有产品中带有索尼的产品 -- % : 表示任意个字符 -- _ : 表示一个字符
SELECT * FROM product WHERE pro_name LIKE '%索尼%';
聚合函数
-- 查询protype的总销量 SELECT SUM(protype) FROM product; -- 查询protype的销量的最大值 SELECT MAX(protype) FROM product; -- 查询protype的销量的最小值 SELECT MIN(protype) FROM product; -- 查询protype的销量的平均值 SELECT AVG(protype) FROM product; -- 查询product的列有几款产品 -- 注意:count()函数统计的数量不包含null的数据 -- 使用count统计表的记录数,要使用不包含null值的字段 SELECT COUNT(*) FROM product;
查询排序
-- 查询排序 SELECT * FROM product ORDER BY price ASC; -- 升序 SELECT * FROM product ORDER BY price; SELECT * FROM product ORDER BY price DESC; -- 倒序 -- 查询表中销量是1的对价钱排序 SELECT * FROM product WHERE protype=1 ORDER BY price; -- 先排第一个,如果有相同的,相同的几个数据再按第二个排序 SELECT * FROM product ORDER BY protype DESC,price ASC;
分组查询
-- 分组查询 protype1\2\3各是多少个 SELECT protype,COUNT(*) FROM product GROUP BY protype; -- 查询protype中分组查询个数大于2的 SELECT protype,COUNT(*) FROM product GROUP BY protype HAVING COUNT(*)>2;