X
تبلیغات

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

ادمه مطلب

+ تعداد بازدید : ۵۰۱ |
نوشته شده توسط alisaadat در جمعه ۲۰ بهمن ۱۳۹۶ و ساعت ۱۰:۵۳
ارسال نظر
نام شما :
آدرس وب سایت :
پست الکترونیک :
پیام شما :
کد امنیتی :