前面写了几篇前序学习,可以去先了解看看噢!! 此篇为续篇之3,话不多说,上货!!
初学者看完都能秒懂的_Mysql (一)
https://my.oschina.net/ithuang/blog/3229782
初学者看完都能秒懂的_Mysql (二)
https://my.oschina.net/ithuang/blog/3231302
MySQL
一. DQL-数据查询
--查询并展示表中所有记录
select 字段 from 表名;
--查询并展示表中符合要求的记录
select 字段 from 表名 where 条件;
查询原理:
任何查询,不会改变硬盘上表数据。
二 .DQL查询-单表查询
1. 条件查询-where
1、as 别名。 相当于外号。可以为表或者字段加别名
2、distinct 去掉重复
来,来练习一下,巩固巩固:
2. 排序-order by
放置在select语句的最后。
格式:
SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;
- ASC 升序 (默认) 小到大
- DESC 降序 大到小
3. 聚合函数/分组函数
- count(字段):统计指定列不为NULL的记录行数;
- sum(字段):计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
- max(字段):计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
- min(字段):计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
- avg(字段):计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
注意:
- null值不纳入计算
- sum\max\min\avg 建议仅对于数字类型操作,不要操作字符串
4. 分组-group by
- 格式:
SELECT 字段1,字段2… FROM 表名 GROUP BY 分组字段;
5. 分组运算-having
SELECT 字段1,字段2… FROM 表名 GROUP BY分组字段 HAVING 分组条件;
having与where的区别(了解):
- having是在分组后对每组数据进行过滤.
where是在分组前对数据进行过滤
- having后面可以使用分组函数(统计函数)
where后面不可以使用分组函数。
6. 查询总结【重点】
书写顺序:
select 字段 from 表名 where 条件 group by 字段 having 运算 order by 字段;
- From 表名
- Where 条件
- Group by 字段 字段值相同的数据会划分成一组
- Having 条件 对每一组分别进行一次运算
- Select 字段 把每组中第一条数据取出来。合并成一张新伪表
展示这个新伪表上的部分字段
6. order by 字段 对新伪表进行最后排序
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~
来源:锌闻网