• 开创生态文明新时代 绘出美丽中国新图景 2018-04-26
  • 贵州桐梓:困难群众打工差点错过“移民搬迁”之后 2018-04-26
  • 国乒男女队出征第54届世乒赛“盼天晴” 2018-04-26
  • “鲶鱼”初显 “自主三强”以合作应“开放”? 2018-04-25
  • 第二批慈善组织互联网募捐信息平台遴选结果公示 2018-04-25
  • 国乒男女队出征第54届世乒赛“盼天晴” 2018-04-24
  • 崔世安会见吴政隆 双方就推进苏澳合作深入交谈 2018-04-24
  • 音乐剧《朝暮有情人》演绎港穗两地三代情 2018-04-24
  • 3月70城房价环比涨幅扩大 2018-04-24
  • 国际油价4月19日涨跌互现 2018-04-23
  • 南平市人民防空办公室成立武夷新区人防办事处 2018-04-23
  • 劳动者合法权利也不可“任性”滥用 2018-04-22
  • SKT招募绝地求生队员 网友迫切看到faker与韦神对枪! 2018-04-22
  • 送别余光中:诗人虽远行,乡愁永流传 2018-04-22
  • 连超模肯豆都“爱不释脚”的穆勒鞋 你不了解一下?|穆勒鞋|肯豆|超模 2018-04-22
  • 【sql教程】SQL HAVING 子句

    栏目: SQL 发布于: 2014-11-27 11:01:01

    SQL HAVING 子句


    HAVING 子句

    在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与 Aggregate 函数一起使用。

    SQL HAVING 语法

    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    HAVING aggregate_function(column_name) operator value;


    演示数据库

    在本教程中,我们将使用众所周知的 Northwind 样本数据库。

    下面是选自 "Orders" 表的数据:

    OrderID CustomerID EmployeeID OrderDate ShipperID
    10248 90 5 1996-07-04 3
    10249 81 6 1996-07-05 1
    10250 34 4 1996-07-08 2

    选自 "Employees" 表的数据:

    EmployeeID LastName FirstName BirthDate Photo Notes
    1 Davolio Nancy 1968-12-08 EmpID1.pic Education includes a BA....
    2 Fuller Andrew 1952-02-19 EmpID2.pic Andrew received his BTS....
    3 Leverling Janet 1963-08-30 EmpID3.pic Janet has a BS degree....


    SQL HAVING 实例

    现在我们想要查找订单总数少于 2000 的客户。

    我们使用下面的 SQL 语句:

    下面的 SQL 语句查找注册超过 10 个订单的员工:

    实例

    SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
    INNER JOIN Employees
    ON Orders.EmployeeID=Employees.EmployeeID)
    GROUP BY LastName
    HAVING COUNT(Orders.OrderID) > 10;

    现在我们想哟啊查找员工 "Davolio" 或 "Fuller" 是否拥有超过 25 个订单。

    我们在 SQL 语句中增加一个普通的 WHERE 子句:

    实例

    SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
    INNER JOIN Employees
    ON Orders.EmployeeID=Employees.EmployeeID
    WHERE LastName='Davolio' OR LastName='Fuller'
    GROUP BY LastName
    HAVING COUNT(Orders.OrderID) > 25;

    本文转载自:w3cschool
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:【sql教程】SQL HAVING 子句
    IT技术书籍推荐:
    细说PHP(精要版)
    细说PHP(精要版)
    高洛峰 (作者), LAMP兄弟连 (编者)
    PHP是开发Web应用系统最理想的工具,拥有易于使用、功能强大、成本低廉、安全性高、开发速度快且执行灵活等优点?!断杆礟HP(第2版)》自出版以来,销售一路在同类书籍中领先,已成为PHP学习者首选的工具书。为了可以让读者携带方便及更精准地掌握PHP的重点、要点,同时能使之作为大学计算机系PHP教材普及,特别推出《细说PHP精要版》。本书是以《细说PHP(第2版)》为基础,提取出精华内容,都是PHP开发中必须需要掌握的技术点。全书以实用为目标设计,包含PHP开发中必备的各项技术,对已列出的每一个知识点都进行了深入详细的讲解,并附有大量的经典实例代码,图文并茂,并且侧重介绍了PHP的相关技术在实际Web开发中的应用。