-4

我有这张桌子,

CREATE TABLE Person 
    (
     id int auto_increment primary key, 
     name varchar(20), 
     Age varchar(30)
    );

INSERT INTO Person
(name, Age)
VALUES
('Ganesan', '23'),
('Prasanna', '30'),
('Karthikeyan', '27'),
('RParthiban', '33');

这个查询:

select Name, Age from Person HAVING Age > 30;

select Name, Age from Person WHERE Age > 30;

两个查询产生相同的输出:

NAME    AGE
RParthiban  33

为什么 ?Having使用和之间有什么区别或意义Where

我确信一定有。每个有什么例子吗?

谢谢。

4

3 回答 3

2

HAVING子句相当于组或聚合的子句WHERE

http://technet.microsoft.com/en-us/library/ms180199.aspx

语法是SELECT ... FROM ... GROUP BY ... HAVING ... ORDER BY

例如

SELECT ID, SUM(whatever) AS [Total]
FROM table
GROUP BY ID
HAVING SUM(whatever) > 100000.00
ORDER BY ID
于 2013-11-13T11:14:36.767 回答
1

如果你搜索这个问题,你会得到答案。这是其中之一

HAVING 只能与 SELECT 语句一起使用。HAVING 通常用于 GROUP BY 子句。当不使用 GROUP BY 时,HAVING 的行为类似于 WHERE 子句。

参考

于 2013-11-13T11:15:03.647 回答
1

WHERE用于根据条件过滤查询结果。

HAVING用于对聚合函数的结果应用过滤器。在没有聚合函数的情况下,它的功能与 WHERE 相同。

于 2013-11-13T11:16:09.340 回答