易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL中Where与Having的区别

“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。
“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。
在说区别之前,得先介绍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 bbc
GROUP BY region
  先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。
  二、显示每个地区的总人口数和总面积.仅显示那些人口数量超过1000000的地区。
SELECT region, SUM(population), SUM(area)
from bbc
GROUP BY region
HAVING SUM(population)>1000000
[注]  在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。
  相反,HAVING子句可以让我们筛选成组后的各组数据.
ps:如果想根据sum后的字段进行排序可以在后面加上:order by sum(population) desc/asc


相关文档:

SQL数据库恢复模型(日志)

----------------------------------------------------------------------
1、SQL数据库恢复模型
----------------------------------------------------------------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信 ......

JAVA连接sql server 2005 数据库心得

首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2
解压Microsoft SQL Server 2005 jdbc driver1.2.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\Program Files)。
设置 Classpath
JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath ......

解密SQL SERVER 2005加密存储过程,函数


在SQL SERVER 2005中必须用专用管理连接才可以查看过程过程中用到的表
EG:sqlcmd -A
1>use test
2>go
1>sp_decrypt 'p_testa'
2>go
Text
----------------------
Create procedure P_testa
with encryption
as
select * from test
 
create PROCEDURE [dbo].[sp_decrypt]
(@procedure s ......

SQL Server 2005新增的功能

1. 新的产品版本
除SQL Server 2005标准版和企业版之外,产品线中还加入了SQL Server 2005简化版(SQL Server 2005 Express)和工作组版(SQL Server 2005 Workgroup)两个新版本。
SQL Server 2005 Express——其作用是代替微软SQL Server桌面引擎(Microsoft SQL Server Desktop Engine,MSDE)。SQL Serve ......

SQL之九 SQL的安装与管理

SQL Server 安装注意事项!!
==============================
http://www.cnblogs.com/pvistely/archive/2008/12/31/1365702.html
1. 需要.Net Framework 3.5,若在Vista或更高的OS上需要3.5 SP1的支持(在SQL2008安装的前会自动更新安装)
2. 需要Widnows PowerShell的支持,WPS是一个功能非常强大的Shell应用,命令与 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号