Mysql中where与having用法区别详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-02 22:58:17 浏览: 评论:0
很多初用mysql的朋友可能搞不清楚在mysql中where与having的区别在哪里,下面我来简单的举几个实例来介绍where与having的区别吧.
让我们先运行2个sql语句,代码如下:
- SELECT * FROM `welcome` HAVING id >1 LIMIT 0 , 30
- SELECT * FROM `welcome` WHERE id >1 LIMIT 0 , 30
查看一下结果吧,怎么样?是不是查询到相同的结果,让我们再看2个sql语句,代码如下:
- SELECT user, MAX(salary) FROM users GROUP BY user HAVING MAX(salary)>10;
- SELECT user, MAX(salary) FROM users GROUP BY user WHERE MAX(salary)>10;
怎么样?看出差别了吗,第一个sql语句可以正常运行,旧版mysql可能会出错,而第二个则会报错.
如果你没看出我们再看.
•WHERE子句是在第一步从表或视图中配全SELECT子句把数据过滤性地查询出来,代码如下:
- select * from table_a where title1='a';
- select * from table_a where title1='a';
•HAVING子句是在SELECT子句与WHERE子句把查询出来的结果存放到内存中的二次过滤,代码如下:
- 1.select * from table_a
- 2.where title1='a' --phpfensi.com
- 3.having content2 like 'b%'
总结:二者相似,却也有不同,让我们简单了解一下.
where和having的区别是where子句对一个表的所有记录进行操作,只搜索与指定条件相匹配的记录.
而having子句只对经过操作的表记录进行检索,对结果集进行更进一步的筛选,通常,having子句和group by子句相连,而where子句和select,delete和update语句相连.
Tags: where用法 having用法区别
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)