sql语句中where 和 having
时间: 2023-05-04 14:00:32 浏览: 109
where和having都是SQL中的筛选条件,但使用场景有些不同。where用于筛选从表中选取的数据行,而having用于筛选根据聚合函数计算出的分组结果。
举例来说,如果我们要从一个学生信息表中查询出所有成绩大于等于60的同学,我们可以这样使用where:
SELECT * FROM students WHERE score >= 60;
而如果我们要查询每个班级的平均分数,并只返回平均分数大于等于60的班级,我们就需要使用having:
SELECT class, AVG(score) AS average_score FROM students GROUP BY class HAVING average_score >= 60;
在这个例子中,GROUP BY将表中的数据按班级进行分组,聚合函数AVG计算每个班级的平均分数,HAVING条件筛选出平均分数大于等于60的班级,最后返回班级和平均分数两列。
阅读全文