where、having、group by、order by、limit的区别和使用顺序

本文详细介绍了数据库查询中where、having、group by、order by和limit的区别及使用顺序。where子句用于在分组前筛选条件,having则用于分组后的条件过滤;GROUP BY用于数据分组,ORDER BY进行结果排序,LIMIT限制返回的记录数。where效率高于having,order by需置于where之后,limit之前。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

where子句:

通过在SELECT语句的WHERE子句中指定条件进行查询,WHERE子句必须紧跟在FROM子句之后。

如:从员工表里查询员工id为h0001的员工的工资

select 工资 from 工资表 where id='h0001';

 

having:

having一般与group by组合来使用,表示在得到分类汇总记录的基础之上,进一步筛选记录。

如:从部门表里查部门内员工薪水总和大于100000的部门的编号

select 部门编号,sum(薪水) from 部门表 group by 部门编号 having sum(薪水)>100000;

 

相同点:where和having都可以加条件

区别:1.where在分组之前加条件,having在分组之后加条件.

           2.where的效率要远远高于having. 分组本身消耗资源非常大.

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值