sql-关键字执行顺序

342 阅读1分钟

image.png

SELECT 
FROM 表一 
JOIN 表二 
WHERE 条件 
GROUP BY分组 
HAVING 忽视组
ORDER BY 排序
LIMIT 分页
  1. 从格式中可以看出,GROUP BY语句中可以有WHERE条件查询的,但是必须要在分组之前,同样,如果有排序需要放在分组之后
  2. 如果使用聚合函数,SQL只可以把GROUP BY分组条件字段和聚合函数查询出来,不能有其他字段。也就是说聚合函数有着严格的查询结果要求,必须是"select函数+分组条件字段”格式,其他格式都会报不是聚合函数的错误
  3. 如果使用聚合函数,不使用group by 只可以查询出来聚合函数的值
  4. 在分组条件查询中如果使用where/having条件查询的时候要注意:
  • where后面是不能书写聚合函数如avg()count()等,只能书写其他非分组查询条件,而且要写在group by 之前
  • having关键字一般是用来书写聚合函数条件进行查询的补充字段,在使用过程中方便了条件的查询,写在group by 之后 备注:聚合函数也称为分组函数