我有这张桌子,
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
之间的区别或重要性是什么?
我相信一定有。每个都有什么例子?
感谢。
答案 0 :(得分:2)
HAVING
子句相当于组或聚合的WHERE
子句。
http://technet.microsoft.com/en-us/library/ms180199.aspx
语法为SELECT ... FROM ... GROUP BY ... HAVING ... ORDER BY
e.g。
SELECT ID, SUM(whatever) AS [Total]
FROM table
GROUP BY ID
HAVING SUM(whatever) > 100000.00
ORDER BY ID
答案 1 :(得分:1)
如果您搜索此问题,您将得到答案。这是其中之一
HAVING只能用于SELECT语句。 HAVING通常用于GROUP BY子句。当不使用GROUP BY时,HAVING的行为类似于WHERE子句。
答案 2 :(得分:1)
WHERE
用于根据条件过滤查询结果。
HAVING
用于对聚合函数的结果应用过滤器。如果没有聚合函数,它的功能与WHERE相同。