聚合函数的分类
count:统计行数量
sum:获取单个列的合计值
avg:计算某个列的平均值
max:计算列的最大值
min:计算列的最小值
SQL执行顺序
第一步:执行from
第二步:where条件过滤
第三步:group by分组
第四步:执行select投影列
第五步:having条件过滤
第六步:执行order by排序
having和where区别
二者都是过滤条件,where运行在分组前,因此不能执行任何聚合函数。having是运行在分组后,只能用聚合函数的过滤。
子查询:
当进行子查询时,如果子查询返回单行单列,可以使用=,>,<
如果子查询返回多行单列,只能使用 in 或 not in
内联接:查询两个表中,有对应记录的数据。
select 查询列 from 主表 join 从表 on 主表主键= 从表外键
select 查询列 from 主表,从表 where 主表主键= 从表外键
外联接:在查询结果中,包含一个表中的所有记录
select 查询列 from 主表 left join 从表 on 主表主键=从表外键