sql语句注意事项

例子:

select deptno, avg(sal), count(*)

from emp

where deptno != 20

group by deptno

having count(*) > 3     --having 进行二次筛选

order by avg(sal) desc;

 

where和having的区别:

区别1:where是分组之前的筛选,having是分组之后的筛选

区别2:having中可以出现分组函数,where中不可以

          原因: 和执行顺序有关

           执行顺序为:from   where  group by   having  select  order by

          group by 之后的语句都可以出现分组函数,group by之前的语句不可以出现分组函数

区别3:如果查询条件既可以在where也可以在having,建议使用where

 

各个语句的执行顺序:

from   where  group by   having  select  order by

!! 注意:order by 是最后执行的

 

各个语句的书写顺序:  

select   from  where  group by  having  order by

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值