• 《寻梦环游记》《至爱梵高》 明年奥斯卡种子选手且看且珍惜 2018-06-23
  • 海南特区改革开放30年:闯出一片辽阔的海 2018-06-23
  • 黑龙江省近三年有400多名责任人因破坏营商环境被处理 2018-06-23
  • 右玉:锣鼓喧天庆盛世 万民欢腾闹元宵 2018-06-23
  • 【手绘H5】我们的领袖习近平 2018-06-23
  • 上市公司并购新三板企业升温 2018-06-23
  • 特朗普再与世界"为敌" 多国斥其关于耶路撒冷决定 2018-06-22
  • 严防“两节”期间“四风”反弹 持续保持高压态势 2018-06-22
  • 反转!华南理工大学否认向莱阳14岁神童发送考察函 2018-06-21
  • 中国出版集团公司总裁谭跃委员:唱响新时代的好声音 2018-06-21
  • 新華網評:分享經濟,別演成分享的“獨角戲” 2018-06-20
  • 红薯会越放越甜吗 如何保存红薯最科学? 2018-06-20
  • 猪肉创八年新低部分养殖户巨亏离场 行业加速洗牌 2018-06-19
  • 招商证券:创业板反弹压力逐渐显现 2018-06-19
  • “一拖二快三”足球比分直400余名应届大学毕业生成为部队“准警官” 2018-06-19
  • 【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开发中的应用。