平均值 / 求和 (不适用于字符串)
select avg(salary),sum(salary),avg(salary)*107
from employess
最大 / 最小 (字符串中按 a最小 z最大)
select max(salary),min(salary)
from employess
(1). 计算指定字段再查询你结构中出现的个数(不包含null)
(2). 公式 avg = sum / count
推荐方式一
语法
顺序
自连接
单行子查询
单行子查询 vs 多行子查询
相关子查询 vs 不相关子查询
查询工资大于本部门平均工资的 员工信息
在innodb存储引擎中,根据索引的储存形式,可以分为两种
主键默认是聚集索引,且叶节点下面挂载这一行的数据,只会有一个
叶节点下面挂载的是这行数据的id值
这个sql语句执行后先用二级索引,然后拿到id回表做聚合查询
show GLOBAL status LIKE 'com_______';
#开启慢查询日志
slow_query_log=1
long_query_time=2
#查询是否开启
SHOW variables like '%slow_query_log%';
#查看profiling是否开启
select @@profiling;
#设置profiling开启
set profiling = 1;
常用命令
sql语句增加explain后是id大的先执行,小的后执行,一样的 靠上面的先执行
联合索引需要用从最开始的顺序进行实现 where后方的位置可以不一样,但是索引字段必须存在
范围查询字段右侧的列索引会失效,尽量使用>=可以避免
尽量不要对字段进行函数运算,会导致索引失效
两边字段都有索引,索引才会生效