黑马程序员技术交流社区

标题: SQL 查询语句HAVING和WHERE 区别??? [打印本页]

作者: 黑马姜硕    时间: 2011-12-21 16:44
标题: SQL 查询语句HAVING和WHERE 区别???
本帖最后由 黑马姜硕 于 2011-12-21 16:47 编辑

SQL查询语句中HAVING和WHERE 都是条件查询语句具体区别在哪呢  还有 FORMAT() 函数和C#中format()函数啥区别???
作者: 余飞    时间: 2011-12-21 16:49
WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中出现的任意项。
作者: 张旭    时间: 2011-12-22 12:05
都是用来筛选记录  having 是筛选组  而where是筛选记录   having可以用聚合函数    where 则不能
作者: 牛奎    时间: 2011-12-22 16:03
HAVING是Group by分组后,对分组结果进行筛选时用的
作者: 刘景发    时间: 2011-12-22 23:35
如果你对何时应该使用WHERE,何时使用HAVING感到有点迷惑的话,可以记下下面的规则:   
  WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。   
  HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。
不知楼主是指的哪两者的区别?
我先简单解释下Format()函数的用法吧!它是个字符串格式化函数.使用方法如下所示:
string str=string.Format("我的姓名是:{0},年龄:{1}","张三",16);
这个函数有一个格式参数和若干个 parameters 参数.
作者: 傅涌钦    时间: 2011-12-28 19:03
本帖最后由 傅涌钦 于 2011-12-29 10:38 编辑

昨天看了下数据库原理修改如下:where 字句作用于基本表或者视图,从中选择满足条件的元组,Having短语作用于组,从中选择满足条件的组!
作者: 井路静    时间: 2011-12-29 22:30
select 语句的一般格式
select [all | distinct] <目标列表达式>[,<目标列表达式>]...
from <表名>[,<表名>]...
where <条件表达式>
group  by <列名1>
having <条件表达式或聚合函数>
order  by  <列名2>[ASC|DESC]
where子句之后跟的是总的查询条件,而having子句之后的查询条件是对每组数据的再次筛选




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2