zoukankan      html  css  js  c++  java
  • SQL 中 WHERE 和 HAVING 的区别

    WHERE

    • 是一个约束声明,用于约束来自数据库的数据(即在调用相关数据的时候,这些数据已经被过滤了一部分)
    • 是在返回结果之前起作用的
    • 后面不能跟 聚合函数,因为 WHERE 是对逐条记录进行筛选,聚合后就无法实现功能

    HAVING

    • 是一个过滤声明,
    • 返回结果集之后,对结果集进行过滤,以显示过滤后的结果
    • 后面可以跟聚合函数

    书写顺序

    SELECT[DISTINCT]
    FROM
    JOIN(如LEFT JOIN)
    ON
    WHERE
    GROUP BY
    HAVING
    UNION
    ORDER BY
    LIMIT


    常见的聚合函数有:count(), sum(), min(), max(), avg()
    其中,min(), max() 还可以对字符串进行操作
    聚合函数常配合group by 使用
    当select的内容不仅包含 聚合函数列,还包含其他列时,必须使用grou by 函数。
    如 : select id, max(score) from t1 group by id;


    在使用avg(col1) 时,如果col1 中有 null 值,该行会被忽略。
    如果想要把null当做0,那么可以使用IsNull函数,语法如下:
    avg(IsNull(col1,0))


  • 相关阅读:
    远程仓库拉取项目到本地并修改提交
    Django之URLconf路由
    Django简介以及安装
    Web开发介绍
    Python与MySQL数据库连接
    PyCharm快捷键
    python爬取有道翻译
    Vue相关知识总结
    Ajax相关介绍
    CSS中的定位
  • 原文地址:https://www.cnblogs.com/talented/p/14840601.html
Copyright © 2011-2022 走看看