zoukankan      html  css  js  c++  java
  • 数据库中where与having区别

    having 和where 都是用来筛选用的  
    having 是筛选组 而where是筛选记录

    他们有各自的区别

    1》当分组筛选的时候 用having

    2》其它情况用where
    -----------------------------------------------------
    用having就一定要和group by连用,
    用group by不一有having (它只是一个筛选条件用的)
    -------------------------------------------------------
    例子
    表结构
    部门编号 姓名 工资
    1 aa 2000
    2 bb 1200
    1 cc 2100
    2 dd 1800
    1 ee 2100
    3 ff 8000
    2 gg 2200
    3 hh 4500

    查询有多个员工的工资不低于2000的部门编号
    (就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来)

    select 部门编号,count(*) from 员工信息表
    where 工资>=2000
    group by 部门编号
    having count(*)>1

    where 针对每一条记录筛选
    而 having 对同一个部门的分组
    count(*)>1 计算多于两个的部门

    查询结果为

    1 3
    3 2
  • 相关阅读:
    POJ 1321 棋盘问题 (DFS)
    POJ 2676 Suduku
    Codeforce Segment Occurrences——string中substr的应用
    POJ 2492
    HDU 3088
    POJ 2992
    STL的sort排序
    mongoimport csv文件
    远程计算机或设备将不接受连接,IE无法上网
    注册MongoDB服务
  • 原文地址:https://www.cnblogs.com/qiaoyanlin/p/6746505.html
Copyright © 2011-2022 走看看