SQL HAVING CLAUSE

WHERE Clause की तरह ही HAVING Clause का उपयोग records को filter करने के लिए किया जाता है। लेकिन WHERE clause के साथ हम SQL aggregate functions का उपयोग नहीं कर सकते इसलिए हम HAVING clause का उपयोग करते है।

SELECT Statement में SQL HAVING clause को Group BY clause के बाद implement किया जाता है।

Aggregate Functions : AVG(),COUNT(),MAX(),MIN(),SUM()

Syntax for SQL HAVING Clause
SELECT column_Name1, column_Name2, ….., column_NameN
aggregate_function_name(column_Name)
FROM table_name
GROUP BY column_Name1
HAVING condition;

Example : Employee table

Emp_IdEmp_NameEmp_SalaryEmp_City
201Abhay2000Noida
202Ankit4000Delhi
203Bheem8000Shimla
204Amit2000Noida
205Divya5000Delhi

यदि आप प्रत्येक City के employees की salary जोड़ना चाहते हैं, तो दी गयी query लिखे :

SELECT SUM(Emp_Salary), Emp_City FROM Employee GROUP BY Emp_City;  

OUTPUT

SUM(Emp_Salary)Emp_City
4000Noida
9000Delhi
8000Shimla

अब, मान लीजिए कि आप उन cityको दिखाना चाहते हैं जिनके employee का कुल वेतन 5000 से अधिक है। इस case के लिए, आपको SQL में HAVING क्लॉज के साथ निम्न query टाइप करनी होगी:

SELECT SUM(Emp_Salary), Emp_City FROM Employee GROUP BY Emp_City HAVING SUM(Emp_Salary)>5000;  

OUTPUT

SUM(Emp_Salary)Emp_City
9000Delhi
8000Jaipur