鍍金池/ 教程/ 數據庫/ SQL HAVING 子句
SQL AND 和 OR 連接運算符
SQL 刪除數據庫
SQL 使用序列
SQL CONCAT 函數
SQL 使用視圖
SQL SELECT 語句
SQL 別名
SQL MAX 函數
SQL 創(chuàng)建表
SQL NULL 值
SQL 數據類型
SQL RAND 函數
SQL 臨時表
SQL INSERT 語句
SQL ALTER TABLE 命令
SQL 關系型數據庫管理系統(tǒng)
SQL SUM 函數
SQL 子查詢
SQL UPDATE 語句
SQL 表達式
SQL 操作符
SQL ORDER BY 子句
SQL WHERE 子句
SQL 對結果進行排序
SQL 注入
SQL AVG 函數
SQL 選擇數據庫,USE 語句
SQL 克隆數據表
SQL COUNT 函數
SQL 語法
SQL DELETE 語句
SQL 約束
SQL 刪除表
SQL TOP、LIMIT 和 ROWNUM 子句
SQL 日期函數
SQL TRUNCATE TABLE 命令
SQL DISTINCT 關鍵字
SQL 處理重復數據
SQL 使用連接
SQL 索引
SQL 事務
SQL GROUP BY 子句
SQL HAVING 子句
SQL MIN 函數
SQL 概覽
SQL SQRT 函數
SQL LIKE 子句
SQL 通配符
SQL UNION 子句
SQL 數據庫
SQL 創(chuàng)建數據庫

SQL HAVING 子句

HAVING 子句使你能夠指定過濾條件,從而控制查詢結果中哪些組可以出現在最終結果里面。

WHERE 子句對被選擇的列施加條件,而 HAVING 子句則對 GROUP BY 子句所產生的組施加條件。

語法:

下面可以看到 HAVING 子句在 SELECT 查詢中的位置:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

在 SELECT 查詢中,HAVING 子句必須緊隨 GROUP BY 子句,并出現在 ORDER BY 子句(如果有的話)之前。帶有 HAVING 子句的 SELECT 語句的語法如下所示:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

示例:

考慮 CUSTOMERS 表,表中的記錄如下所示:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

下面是一個有關 HAVING 子句使用的實例,該實例將會篩選出出現次數大于或等于 2 的所有記錄。

SQL > SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;

其執(zhí)行結果如下所示:

+----+--------+-----+---------+---------+
| ID | NAME   | AGE | ADDRESS | SALARY  |
+----+--------+-----+---------+---------+
|  2 | Khilan |  25 | Delhi   | 1500.00 |
+----+--------+-----+---------+---------+
上一篇:SQL 操作符下一篇:SQL 索引