千家信息网

SQL中having和where如何使用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关SQL中having和where如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。"Where" 是一个约束声明,使用
千家信息网最后更新 2025年11月07日SQL中having和where如何使用

这篇文章将为大家详细讲解有关SQL中having和where如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

"Where" 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。

"Having"是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。

聚合函数,SQL基本函数,聚合函数对一组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空值。 聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。

Transact-SQL编程语言提供下列聚合函数:

1.AVG 返回指定组中的平均值,空值被忽略。

例:select prd_no,avg(qty) from sales group by prd_no

2. COUNT 返回指定组中项目的数量。

例:select count(prd_no) from sales

3. MAX 返回指定数据的最大值。

例:select prd_no,max(qty) from sales group by prd_no

4. MIN 返回指定数据的最小值。

例:select prd_no,min(qty) from sales group by prd_no

在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前,又得先说说"聚合函数"--SQL语言中一种特殊的函数。例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。如:

SELECT SUM(population) FROM vv_t_bbc ;

  这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。

   而通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。当你指定 GROUP BY region 时,只有属于同一个region(地区)的一组数据才将返回一行值,也就是说,表中所有除region(地区)外的字段,只能通过 SUM, COUNT等聚合函数运算后返回一个值。

下面再说说"HAVING"和"WHERE":

  HAVING子句可以让我们筛选成组后的各组数据,WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后对组记录进行筛选。

  让我们还是通过具体的实例来理解GROUP BY 和 HAVING 子句:

  SQL实例:

  一、显示每个地区的总人口数和总面积:

SELECT region, SUM(population), SUM(area)FROM bbcGROUP BY region

  先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。

  二、显示每个地区的总人口数和总面积.仅显示那些人口数量超过1000000的地区。

SELECT region, SUM(population), SUM(area)FROM bbcGROUP BY regionHAVING SUM(population)>1000000

[注]  在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。

  相反,HAVING子句可以让我们筛选成组后的各组数据.

ps:如果想根据sum后的字段进行排序可以在后面加上:order by sum(population) desc/asc

关于SQL中having和where如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

函数 子句 数据 地区 作用 结果 字段 就是 总人口 查询 也就是 也就是说 内容 多条 实例 总面积 数量 文章 是在 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 孤岛惊魂3取消和育碧服务器连接 数据库如何给应用程序连接 中文科学技术期刊数据库 联想卖服务器 pubg服务器波动 威海苹果软件开发哪家靠谱 蚂蚁金服网络技术服务有限公司 高校应如何开展网络安全教育 网络安全代理服务器用啥好 软件开发笔记本怎么选 数据库技术与应用孔 软件开发出身的创始人 数据库课程设计报告ppt 南京天渔互联网科技有限公司 公司应怎样防止网络安全 陕西it软件开发排行 传奇物品数据库详解 高职学计算机网络技术难吗 亳州软件开发外包公司 泗洪工业网络技术解决方案 孤岛惊魂3取消和育碧服务器连接 rtmp直播服务器搭建 关于软件开发 的创业计划书 进京服务器核酸检测 浙江数据库通用多路锁控板检测 易语言连接远程数据库acc 家和网络技术怎么样 linux服务器能干什么 饭店网站模板附带数据库 上海网信办 网络技术处
0