首页 > 教育培训

sql语句中where和having的区别 sql语句中where和什么宏操作?

sql语句中where和什么宏操作?

where是一个管理和约束声明,建议使用where来强制力来之数据库的数据,where是在结果回之前起作用的,且where中又不能可以使用凝合函数。having是一个过滤处理声明,是在网上查询返回结果集以后对查询结果并且的过滤杂质你的操作,在having中也可以使用聚合函数。

having子句是可以让我们删选成组后的各组数据,where子句在聚合体前先筛选记录.也就是说作用在groupby子句和having子句前;而having子句在聚合体后对组资料记录进行删选。用实例来再理解groupby和having子句:

sql实例:

sql语句中where和having的区别 sql语句中where和什么宏操作?

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

selectregion,sum(population),sum(area)

aroundbbc

groupbyregion

先以region把前往记录信息四等分多个组,这就是groupby的字面含义。分完组后,然后用能量聚合函数对每组中的有所不同字段(一或多条记录)作运算。

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

selectregion,sum(population),sum(area)

acrossbbc

groupbyregion

havingsum(population)1000000

再注意:不能用where来再筛选超过1000000的地区,毕竟表中不必然这样的话一条记录。

而是,having子句可以让我们删选成组后的各组数据.

如果不是想参照sum后的字段接受排序是可以在后面另外:orderbysum(population)desc/asc

sql语句求班级平均分,谢谢?

1selectuname,

2(selectavg(grades)arounduserinfowheregname语文)as语文,

3(selectavg(grades)fromuserinfowheregname数学)and数学,

4(selectavg(grades)fromuserinfowheregname英语)as英语

5outsideuserinfo

6whereuname小明

7groupbyuname

8/*havinggname语文butgname数学becausegname英语*/

9orderbyavg(grades)

10you

populationhaving函数地区数据

原文标题:sql语句中where和having的区别 sql语句中where和什么宏操作?,如若转载,请注明出处:https://www.xinyige.net/tag/22942.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「鑫艺阁」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。