WHERE和HAVING有什么区别

Ric*_*d77 20 t-sql

看起来WHEREHAVING都有助于过滤行.我想知道是否,我可以使用WHERE ... AND.

我有点困惑.

谢谢你的帮助

Poi*_*nty 32

分组操作发生之前,使用"WHERE"子句选择要包含在数据集中的行(GROUP BY).您可以使用HAVING子句分组过滤行.

因此,如果您正在聚合总和或最大值或最小值,则可以使用HAVING谓词来检查候选行上的聚合值.


Phi*_*ley 8

有一些细微之处和错综复杂,但快速描述是一个比较:HAVING是GROUP BY,因为WHERE是SELECT.

换句话说,如果您认为HAVING是在GROUP BY子句之后应用的WHERE子句,那么事情就会变得有意义.