دستور شرطی Having در sql

8 / 10 از 15 کاربر

دستور شرطی Having در sql

دستور Having در اسکیوال برای افزودن شرط به توابع درون ساخته SQL استفاده می شود ، زيرا از دستور Where نمی توان برای کار با مقادير خروجی توابع درون ساخته SQL استفاده کرد . 

به عبارت ديگر دستور Having در sql برای اعمال شرط به ستون ها اعمال می شود و همان کاری را می کند که Where در رکوردها انجام می دهد . دستور Having معمولا با دستور Group By می آيد .

ساختار دستور شرطی Having در sql به صورت زیر است :

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 استفاده کرد.

محمدیان : توابع درون ساخته
13 0
باعرض سلام وخسته نباشید میشه درمورد توابع درون ساخته ی SQLونمونه های ان بیشتر توضیح بدین؟ باتشکر از سایت بسیارعالیتون
مدیریت : پاسخ
11 0
حتما . در آینده مثال های پیشرفته ای در این زمینه خواهیم زد و در مقالاتی جدا در اختیارتون قرار میگیره
حسین محمدی مهر : توابع
37 0
سلام واقعا جمع و جور رو خیلی قشنکگ توضیح دادین فقط کافیه که شخصی که اینارو میخونه یه آشنایی مختصری با SQL داشته باشه تا بتونه از مطالب استفاده کنه. فقط یه خواهشی از شما دارم که اگه ممکنه مثالهای بیشتری در مورد مطالبی که تو سایت گذاشتین بزارین. از سایت بسیار خوبی که ایجاد کردین نهایت تشکر رو از شما دارم با آرزوی موفقیت برای شما
عنوان نظر :
نام شما :
ایمیل :
تلفن تماس :
*
نویسنده : بهاره شکری
تاریخ انتشار : 20/05/1392
تعداد بازدید : 10079