MySql学习——where和having的区别

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还有啥区别也欢迎在评论区留言。。

你可能感兴趣的:(个人经验,MySql)