دستور Having در اسکیوال برای افزودن شرط به توابع درون ساخته SQL استفاده می شود، زيرا از دستور Where نمی توان برای کار با مقادير خروجی توابع درون ساخته SQL استفاده کرد. به عبارت ديگر دستور Having در sql برای اعمال شرط به ستون ها اعمال می شود و همان کاری را می کند که Where در رکوردها انجام می دهد . دستور Having معمولا با دستور Group By می آيد.
حتما بخوانید: دستور SELECT INTO
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
مثال : در مثال زیر همچون مثال بخش دستور group by عمل شده ، با این تفاوت که بعد از گروه بندی بر اساس نام دانش آموزان و دادن خروجی جمع نمرات آنها ، خروجی شامل دانش آموزانی است که مجموع نمرات آنها بالاتر از 25 باشد :
جمع نمره Select Name , Sum ( Grade ) As مجموع نمرات
From Students
Group By Name
Having Sum ( Grade ) > 25
Order By Family
نکته مثال : در مثال بالا به جای having نمیتوان از where استفاده کرد و برای اعمال شرط بر روی فیلدهای محاسباتی آمده در دستور group by باید از جمله شرطی having استفاده کرد.
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
دستور HAVING ابزاری قوی برای فیلتر کردن نتایج در SQL است، به ویژه زمانی که نیاز به اعمال شرایط بر روی دادههای گروهبندی شده دارید. این دستور به شما کمک میکند تا تحلیلهای دقیقتری بر روی دادهها انجام دهید و نتایج مورد نظر خود را استخراج کنید.