SQL中HAVING和WHERE的区别示例

having子句

select vendorname,sum(billtotal) as invo_total
from billtbl join vendors

on billtbl.vendorid = vendors.vendorid
group by vendorname
having sum(billtotal)>500
order by vendorname desc

where子句

select vendorname,sum(billtotal) as invo_total

from billtbl join vendors
on billtbl.vendorid = vendors.vendorid
where billtotal >500
group by vendorname

order by vendorname desc
SQL 中 HAVING 子句与 WHERE 子句的比较

在本文中,将介绍 SQL 中 HAVING 子句与 WHERE 子句之间的区别。
GROUP BY 子句用于根据一个或者多个列或者表达式对结果集的行进行分组。
GROUP BY 子句用于包含聚合函数的 SELECT 语句。

要使用 group by 子句放置任何条件,我们使用 HAVING 子句。 HAVING 子句用于指定组或者聚合的搜索条件。

WHERE 子句在使用分组和聚合的 SELECT 语句中搜寻行之前使用。

在使用分组和聚合的 SELECT 语句中对行进行搜寻之后使用 Having 子句。

日期:2020-06-02 22:17:42 来源:oir作者:oir