کار با توابع داخلی نرم افزار
در این درس از دوره آموزشی SQL Server، به بررسی توابع داخلی (Built-in Functions) پرداخته میشود. این توابع از پیش تعریفشده در SQL Server شامل Aggregate Functions مانند AVG
، MIN
و MAX
هستند که به ترتیب میانگین، حداقل و حداکثر مقادیر را از ستونهای مشخصشده برمیگردانند. با استفاده از این توابع در کوئریهای SQL، میتوان اطلاعات مفیدی از دادهها استخراج کرد که در تهیه گزارشها و پیادهسازی منطقهای کسبوکار در برنامهها بسیار کارآمد هستند.
اکنون به سمت ساختار درختی programmability میرویم. درست زیر اون، stored procedures هست و پایین تر، function ها یا توابع رو میبینم که من قصد دارم در این ویدئو طریقه ساخت یک تابع رو توضیح بدهم.
اگر لیست function ها رو هم باز کنم، یکی از آیتم هایی که میبینم system function هست. همانطور که میدانیم function ها توابع از پیش تعریف شده برای اس کیو ال هستند. خب؛ system function رو هم باز میکنم و یکی از آیتمهای اینجا aggregate functions هست که وقتی لیست اون رو هم باز میکنم میبینم که بعضی از این function ها در حال حاضر در سرور قرار دارند.
یکی از تابع های جالب a-v-g یا همان average است که متوسط مقادیر رو برمیگرداند و به همین ترتیب تابع max مقدار ماکزیمم رو برمیگرداند و min مقدار مینیمم رو برمیگرداند که باید بدانید، همگی اینها جزء توابع خیلی مفید sql هستند. ما میتوانیم اینها رو در query های sql قرار بدهیم و نتایج دلخواهمان را بگیریم.
من یک query رو که از قبل برای شما، در فایلهای تمرینی شما طبقه بندی کردم، کپی و اونها رو درپنجره query جدید، با استفاده از گزینه new query در اینجا، پاست می کنم.
همانطور که می بینید، دوباره میخواهم با جدول humanresources.employee کار کنم.
میخواهم در بین مقادیر ساعات تعطیل یا vacation hours، به دنبال کمترین ساعات تعطیلی باشم.
میتوانیم با نوشتن min برای تعریف function یا تابع خود، کارم رو شروع کنم. ساختار این تابع بدین صورت است که داخل پرانتز vacationhours قرار میگیرد.
بنابراین این دستور باید به تمامی مقادیر vacationhours در همه سطرها نگاه کند و تنها کمترین مقدار را برگرداند. سپس به طور مشابه avg برای میانگین و به طور مشابه max برای بیشترین مقدار رو برمیگرداند.
که من از قبل تعریف کردم و شما دارید اونها رو اینجا می بینید.
بنابراین اگر این دستور رو با استفاده از آیکن execute اجرا کنیم، نرم افزار، مجموعه نتایجی رو برای ما تنظیم میکند که کمترین ساعات تعطیلی رو در هر سطر برای ما برمیگرداند. این مقدار یعنی مقدار min ما در این جدول 0 و متوسط اون 50 و ماکزیمم آن 99 است.
بنابراین function ها به عنوان توابع پیشفرض و از قبل تعریف شده نرم افزار sql با این ساختار، میتوانند در دستورات sql server ما اضافه و ساخته بشوند و به احتمال زیاد این توابع در یک دستور select که اضافه میشوند نتایج جالبی رو به ما میدهند و این توابع به ما کمک میکنند تا اطلاعات جالب رو از داده هایمان پیدا کنیم. بنابراین چیزهایی مثل minimum و maximum در هنگام ایجاد گزارشها یا مرتب سازی منطق های کسب و کار در داخل یک برنامه، اغلب خیلی مفید هستند.