SQL Server में HAVING क्लॉज
HAVING क्लॉज का उपयोग SQL Server (Transact-SQL) में GROUP BY क्लॉज के साथ संयोजन में किया जाता है ताकि वापस किए गए पंक्तियों के समूह को सीमित किया जा सके, केवल जब शर्त TRUE होती है।
SQL Server में HAVING क्लॉज सिंटैक्स
SELECT bieu_thuc1, bieu_thuc2, … bieu_thuc_n,
ham_tong (bieu_thuc)
FROM bang
[WHERE dieu_kien]
GROUP BY bieu_thuc1, bieu_thuc2, … bieu_thuc_n
HAVING dieu_kien_having;
चर नाम या मान
ham_tong
SUM, COUNT, MIN, MAX या AVG जैसे फ़ंक्शन हो सकते हैं।
bieu_thuc1, bieu_thuc2, ... bieu_thuc_n
वह एक्सप्रेशन जो कुल फ़ंक्शन के भीतर नहीं है और GROUP BY क्लॉज में होना चाहिए।
WHERE dieu_kien
वैकल्पिक। वे शर्तें जिन्हें रिकॉर्ड को चयनित होने के लिए पूरा करना होगा।
HAVING dieu_kien_having
यह एक अतिरिक्त शर्त है जो केवल कुल परिणाम पर लागू होती है ताकि वापस की गई पंक्तियों के समूहों को सीमित किया जा सके। केवल वे समूह जिनकी शर्तों का मूल्यांकन परिणाम सेट में TRUE है।
उदाहरण - SUM फ़ंक्शन का उपयोग
SELECT bophan, SUM(soluong) AS 'Tong so luong'
FROM sanpham
GROUP BY bophan
HAVING SUM(soluong) > 100;
उपरोक्त HAVING क्लॉज उदाहरण SUM फ़ंक्शन का उपयोग करके विभाग नाम और कुल मात्रा (संबंधित विभाग में) वापस करता है। HAVING क्लॉज परिणामों को फ़िल्टर करेगा ताकि केवल 100 से अधिक मात्रा वाले भाग वापस किए जाएं।
उदाहरण - COUNT फ़ंक्शन का उपयोग
SELECT thanhpho, COUNT(*) AS 'So nhanvien'
FROM nhanvien
WHERE bang = 'California'
GROUP BY thanhpho
HAVING COUNT(*) > 20;
यह उदाहरण शहर और कर्मचारियों की संख्या (उस शहर में) वापस करता है जो वर्तमान में California में हैं। HAVING क्लॉज 20 से अधिक कर्मचारियों वाले शहरों को वापस करने के लिए फ़िल्टर करेगा।
उदाहरण - MIN फ़ंक्शन का उपयोग
SELECT bophan, MIN(luong) AS 'Luong thap nhat'
FROM nhanvien
GROUP BY bophan
HAVING MIN(luong) >= 50000;
इस उदाहरण में, वापस किया गया परिणाम प्रत्येक विभाग का नाम और प्रत्येक विभाग में न्यूनतम वेतन है। HAVING क्लॉज केवल उन भागों को वापस करेगा जिनका न्यूनतम वेतन 50,000 से अधिक या बराबर है।
उदाहरण - MAX फ़ंक्शन का उपयोग
SELECT ho, MAX(luong) AS 'Luong cao nhat'
FROM nhanvien
GROUP BY bophan
HAVING MAX(luong) > 34000;
इस अंतिम उदाहरण में, परिणाम कर्मचारी का उपनाम और उस उपनाम के मान के लिए अधिकतम वेतन है। HAVING क्लॉज केवल उन मानों को सीमित करता है जिनका अधिकतम वेतन $34,000 से अधिक है।