কম্পিউটার টিউটোরিয়াল

SQL Server-এ HAVING ক্লজ

SQL Server (Transact-SQL)-এ HAVING ক্লজ GROUP BY ক্লজের সাথে ব্যবহার হয় যাতে রিটার্ন হওয়া সারির গ্রুপ সীমাবদ্ধ করা যায়, শুধু কন্ডিশন TRUE হলে।

SQL Server-এ HAVING ক্লজ সিনট্যাক্স

SELECT bieuthuc1, bieuthuc2, … bieuthuc_n,
ham_tong(bieuthuc)
FROM bang
[WHERE dieukien]
GROUP BY bieuthuc1, bieuthuc2, … bieuthuc_n
HAVING dieukien_having;

ভেরিয়েবল নাম বা মান

ham_tong

SUM, COUNT, MIN, MAX বা AVG যেন ফাংশন।

bieuthuc1, bieuthuc2, ... bieuthuc_n

যে এক্সপ্রেশন যোগফল ফাংশনের ভেতরে নয় এবং GROUP BY ক্লজে থাকতে হবে।

WHERE dieukien

ঐচ্ছিক। রেকর্ড সিলেক্ট করার শর্ত।

HAVING dieukien_having

এটি একটি অতিরিক্ত কন্ডিশন যা শুধু এগ리게ট রেজাল্টে প্রয়োগ হয় রিটার্ন হওয়া সারির গ্রুপ সীমাবদ্ধ করতে। শুধু যেসব গ্রুপের কন্ডিশন TRUE ইভ্যালুয়েট হবে সেগুলো রেজাল্ট সেটে থাকবে।

উদাহরণ - SUM ফাংশন ব্যবহার

SELECT bophan, SUM(soluong) AS 'Tong so luong'
FROM sanpham
GROUP BY bophan
HAVING SUM(soluong) > 100;

উপরের HAVING ক্লজ উদাহরণ SUM ফাংশন ব্যবহার করে ডিপার্টমেন্টের নাম এবং মোট কuantity (সংশ্লিষ্ট ডিপার্টমেন্টে) রিটার্ন করে। HAVING ক্লজ ফলাফল ফিল্টার করবে যাতে শুধু ১০০-এর চেয়ে বেশি কuantity वाले ডিপার্টমেন্ট রিটার্ন হয়।

উদাহরণ - COUNT ফাংশন ব্যবহার

SELECT thanhpho, COUNT(*) AS 'So nhanvien'
FROM nhanvien
WHERE bang = 'California'
GROUP BY thanhpho
HAVING COUNT(*) > 20;

এই উদাহরণ শহর এবং কর্মচারীদের সংখ্যা (সেই শহরে) রিটার্ন করবে যারা বর্তমানে California-এ। HAVING ক্লজ ফিল্টার করবে শুধু ২০-এর চেয়ে বেশি কর্মচারী वाले শহর রিটার্ন করতে।

উদাহরণ - MIN ফাংশন ব্যবহার

SELECT bophan, MIN(luong) AS 'Luong thap nhat'
FROM nhanvien
GROUP BY bophan
HAVING MIN(luong) >= 50000;

এই উদাহরণে, ফেরত দেওয়া ফলাফল প্রতিটি ডিপার্টমেন্টের নাম এবং ন্যূনতম বেতন। HAVING ক্লজ শুধু যেসব ডিপার্টমেন্টের ন্যূনতম বেতন ৫০,০০০ বা তার বেশি সেগুলো রিটার্ন করবে।

উদাহরণ - MAX ফাংশন ব্যবহার

SELECT ho, MAX(luong) AS 'Luong cao nhat'
FROM nhanvien
GROUP BY bophan
HAVING MAX(luong) > 34000;

এই চূড়ান্ত উদাহরণে, ফলাফল কর্মচারীর উপনাম এবং সেই উপনামের মানের জন্য সর্বোচ্চ বেতন। HAVING ক্লজ শুধু যেসব উপনামের সর্বোচ্চ বেতন ৩৪,০০০-এর চেয়ে বেশি সেগুলো সীমাবদ্ধ করে।

  1. SQL Server-এ PIVOT ক্লজ

  2. SQL Server-এ WHERE ক্লজ

  3. SQL Server-এ FROM ক্লজ

  4. MS SQL Server কী?