SQL – 有子句

SQL – 有子句


HAVING子句允许您指定滤波器组的结果出现在搜索结果的条件。

WHERE 子句在选定的列上放置条件,而 HAVING 子句在由 GROUP BY 子句创建的组上放置条件。

句法

以下代码块显示了 HAVING 子句在查询中的位置。

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

HAVING 子句必须跟在查询中的 GROUP BY 子句之后,并且如果使用,还必须在 ORDER BY 子句之前。以下代码块具有 SELECT 语句的语法,包括 HAVING 子句 –

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 |
+----+----------+-----+-----------+----------+

以下是一个示例,它将显示大于或等于 2 的类似年龄计数的记录。

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

这将产生以下结果 –

+----+--------+-----+---------+---------+
| 身份证 | 姓名 | 年龄 | 地址 | 工资|
+----+--------+-----+---------+---------+
| 2 | 希兰 | 25 | 德里 | 1500.00 |
+----+--------+-----+---------+---------+

觉得文章有用?

点个广告表达一下你的爱意吧 !😁