select managerid,count(managerid)a
from employee
group by managerid
having a>=5
执行顺序是having在select之前
为什么这句话不报错
HAVING 执行是在 SELECT之后进行的 你可以理解为having 将之前的整体继续筛选
select name,id from employee group by name having id=101 id删去会错
【以下回答由 GPT 生成】
问题优化:
在上述SQL语句中,HAVING和SELECT的执行顺序如下:
这个语句在没有报错的情况下正常执行的原因是因为在MySQL中,SELECT和HAVING的执行顺序是允许的。具体执行顺序如下:
所以,尽管a是在SELECT子句中定义的别名,但它可以在HAVING子句中被引用并进行条件判断。因此,这个语句能够正常执行而不报错。
【相关推荐】