猿问

mysql中的where和having子句的区别

mysql中的where和having子句的区别


拉风的咖菲猫
浏览 551回答 3
3回答

繁星coding

区别11、where是判断数据从磁盘读入内存的时候2、having是判断分组统计之前的所有条件区别21、having子句中可以使用字段别名,而where不能使用区别31、having能够使用统计函数,但是where不能使用先分组,再判断

当年话下

1. 优先级方面:where优先级高,having低。优先级从高到低顺序:where,group by, order by ,having limit。如果多个字句存在,先查前一个条件,再从查询结果中找符合下一个条件的结果,层层筛选查询,得到查询结果。2. 用法:where 最常用,后面跟上条件having一般与group by合用,对前面的查询结果再次筛选。

一只萌萌小番薯

having 和where 都是用来筛选用的having 是筛选组 而where是筛选记录他们有各自的区别1》当分组筛选的时候 用having2》其它情况用where-----------------------------------------------------用having就一定要和group by连用,用group by不一有having (它只是一个筛选条件用的)-------------------------------------------------------例子表结构部门编号 姓名 工资1 aa 20002 bb 12001 cc 21002 dd 18001 ee 21003 ff 80002 gg 22003 hh 4500查询有多个员工的工资不低于2000的部门编号(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来)select 部门编号,count(*) from 员工信息表where 工资>=2000group by 部门编号having count(*)>1where 针对每一条记录筛选而 having 对同一个部门的分组count(*)>1 计算多于两个的部门查询结果为1 33 2
随时随地看视频慕课网APP

相关分类

MySQL
我要回答