常用的多行函数有5个
max 最大值: 如果处理的值是字符串,将会把值按照字典序排序
min 最小值: 如果处理的值是字符串,将会把值按照字典序排序
avg 平均值: 只能用于数值型数据,求平均值
sum 求和: 如果求和过程中有null,那么不会计算在内
count 求总数: 如果统计的数据中有null,不会把null统计在内
dinstinct:去重
group by :分组
-- 查询20部门的平均薪资 -- 第一种方式:先求出每个部门的平均薪资,然后再过滤出20部门 select deptno,avg(sal) from emp group by deptno having deptno=20; -- 第二种方式:先过滤出20部门,然后再求平均薪资 推荐第二种方式:先过滤,再计算 select deptno,avg(sal) from emp where deptno=20;
先过滤再计算,时间比较快
排序:order by 字段1(主),字段2(次);
执行的顺序:
from -> where -> group by -> having ->select -> order by;
表的连接
自然连接:natural join:自动选择列名和类型一样的字段进行连接
表 join 表 using(字段)-- 不需要mysql帮我们选择等值连接的列,现在我们指定等值连接的列
表 join 表 on(条件) -- 指定两张表关联的条件,可以是非等值的操作
左连接(left join)、右连接(right join)、全连接(full join/join)有什么区别?
左连接:以左表数据为标准,即使右表中没有左表对应的数据,左表中的数据也会出现在结果中,没有连接上的值用空值代替
右连接:与左连接相反
一表两用:一张表看成两张表(自连接)
示例:from emp e1 join emp e2
ifnull(字段,内容)如果某个字段为空,用内容代替
是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
T+1任务就是在凌晨的时候执行
分区表