where只能筛选表中已经有的字段,having则可以筛选除表中字段以外的字段,和聚集函数(max,min,avg,sum)
//sumgarde 总成绩 english 英语成绩
select (sumgarde-english) as a from stu having a > 500;
//查询总分减去英语成绩后分数仍大于500分的同学
这里把having换成where是不可以的。。
PS:我发现having也能查询表中的字段,那和where查询表中的字段有什么区别吗?有效率的问题吗?希望博友们能提示我一下,然后如果where和having还有啥区别也欢迎在评论区留言。。