美文网首页
2023-11-11 第08章_聚合函数

2023-11-11 第08章_聚合函数

作者: 大也 | 来源:发表于2023-11-12 09:04 被阅读0次

    一.聚合函数类型
    AVG() SUM() MAX() MIN() COUNT()
    二.执行过程
    SELECT [DISTINCT]...,....,...
    FROM ... JOIN ...
    ON 多表的连接条件
    JOIN ...
    ON ...
    WHERE 不包含组函数的过滤条件
    AND/OR 不包含组函数的过滤条件
    GROUP BY ...,...[ WITH ROLLUP;]
    HAVING 包含组函数的过滤条件
    ORDER BY ... ASC/DESC
    LIMIT ...,...

    (1)from:从哪些表中筛选

    (2)on:关联多表查询时,去除笛卡尔积

    (3)where:从表中筛选的条件

    (4)group by:分组依据

    -- 4.1 WITH ROLLUP;在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。

    (5)having:在统计结果中再次筛选

    (6)order by:排序

    (7)limit:分页

    (7) DISTINCT:去除重复

    注意事项
    1.WHERE一定放在FROM后面
    2.当使用ROLLUP时,不能同时使用ORDER BY子句进行结果排序,即ROLLUP和ORDER BY是互相排斥 的。

    1. HAVING 使用条件. 使用了聚合函数。不能单独使用,必须要跟 GROUP BY 一起使用。

    整个selected 执行顺序 底层运行的原理,就是执行顺序
    FROM -> WHERE -> GROUP BY -> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT

    多表联查 2张表 FROM会增加这些步骤 多张重复这个步骤
    FROM 先通过 CROSS JOIN 求笛卡尔积,相当于得到虚拟表 vt
    ON 进行筛选,在虚拟表 vt1-1 的基础上进行筛选,得到虚拟表 vt1-2
    如果我们使用的是左连接、右链接或者全连接,就会涉及到外部行,也就是在虚拟表 vt1-2 的基础上增加外部行,得到虚拟表 vt1-3。

    相关文章

      网友评论

          本文标题:2023-11-11 第08章_聚合函数

          本文链接:https://www.haomeiwen.com/subject/ttikwdtx.html