mysql having关键字怎么用

在mysql中,having关键字需要和SELECT语句一起使用,用于对分组后的数据进行过滤,语法“SELECT {*|字段列名} FROM 数据表名 HAVING 查询条件;”。 本教程操作环境:windows7系统、mysql8版本、

在mysql中,having关键字需要和SELECT语句一起使用,用于对分组后的数据进行过滤,语法“SELECT {*|字段列名} FROM 数据表名 HAVING 查询条件;”。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

MySQL HAVING:过滤分组

在 MySQL 中,可以使用 HAVING 关键字对分组后的数据进行过滤。

使用 HAVING 关键字的语法格式如下:

但是 WHERE 和 HAVING 关键字也存在以下几点差异:

一般情况下,WHERE 用于过滤数据行,而 HAVING 用于过滤分组。

WHERE 查询条件中不可以使用聚合函数,而 HAVING 查询条件中可以使用聚合函数。

WHERE 在数据分组前进行过滤,而 HAVING 在数据分组后进行过滤 。

WHERE 针对数据库文件进行过滤,而 HAVING 针对查询结果进行过滤。也就是说,WHERE 根据数据表中的字段直接进行过滤,而 HAVING 是根据前面已经查询出的字段进行过滤。

WHERE 查询条件中不可以使用字段别名,而 HAVING 查询条件中可以使用字段别名。

下面通过实例让大家更直观的了解 WHERE 和 HAVING 关键字的相同点和不同点。

例 1

分别使用 HAVING 和 WHERE 关键字查询出 tb_students_info 表中身高大于 150 的学生姓名,性别和身高。SQL 语句和运行结果如下。