akofaraji.ir
توابع مهم SQL از قبیل MIN, MAX, COUNT, AVG, SUM
نوشته شده در تاریخ 06 مهر 1401
نظرات: 0 امتیاز: 10 زمان مطالعه: 17 دقیقه
 
 
توابع MIN, MAX, COUNT, AVG, SUM در SQL
 

توابع ()MIN و ()MAX

 

اگر معنی نام های این توابع را در انگلیسی بدانید دیگر حتی نیازی به توضیحات من نخواهید داشت! کلمه ی Min در انگلیسی مخفف Minimum (به معنی «کمترین») و کلمه ی Max مخفف Maximum (به معنی «بیشترین») است. حالا که معنی نام این دو واضح شد، کاراییشان نیز واضح است؛ تابع ()MIN کمترین مقدار از یک ستون انتخاب شده را بر می گرداند و ()MAX نیز بیشترین مقدار را.

 

ساختار کلی تابع ()MIN

 

ساختار کلی تابع ()MAX

 

این بار به سراغ جدول جدیدی از پایگاه داده ی Northwind میرویم. تصویر زیر، قسمتی از جدول Products (به معنی «محصولات») در این پایگاه داده است:

 

قسمتی از جدول Products در پایگاه داده ی Northwind
قسمتی از جدول Products در پایگاه داده ی Northwind

 

مثال استفاده از تابع ()MIN و ()MAX

 

کد زیر، ارزان ترین محصول ما را پیدا می کند:

 

برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.

 

از طرف دیگر، کد زیر گران ترین محصول ما را برمیگرداند:

 

برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.

 

توابع ()COUNT و ()AVG و ()SUM

 

به طور خلاصه می توان گفت:

  • تابع COUNT (به معنی «شمردن») تعداد ردیف هایی را بر می گرداند که با حالت یا شرط خاصی انطباق دارند.
  • تابع AVG (مخفف Average – به معنی «میانگین») میانگین مقادیر عددی یک ستون را برمیگرداند.
  • تابع SUM (به معنی «جمع کل») جمع کل یک ستون عددی را بر میگرداند.

 

ساختار کلی تابع ()COUNT

 

ساختار کلی تابع ()AVG

 

ساختار کلی تابع ()SUM

 

وقت آن شده است که مثال ها را بررسی کنیم.

 

مثال های کار با توابع ()COUNT و ()AVG و ()SUM

 

مثال اول، دستور زیر تعداد محصولات ما را به ما می دهد:

 

 

برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.

 

نکته: مقادیر NULL شامل این شمارش نمی شوند.

 

مثال دوم، دستور زیر میانگین قیمت تمام محصولات ما را محاسبه می کند:

 

برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید، می بینید که میانگین قیمت محصولات ما 28.866363636363637 است.

 

در این حالت نیز مقادیر NULL محاسبه نمی شوند.

 

حالا بیایید به جدول دیگری برویم. جدول زیر، قسمتی از جدول OrderDetails (به معنی «جزئیات سفارش») می باشد:

 

قسمتی از جدول OrderDetails در پایگاه داده ی Northwind
قسمتی از جدول OrderDetails در پایگاه داده ی Northwind

 

حالا می توانیم به راحتی از تابع ()SUM استفاده کنیم و جمع کل مقادیرِ ستون Quantity (به معنی «تعداد») را پیدا کنیم:

 

مقداری که به ما بر میگردد 12743 است که در واقع جمع تمام مقادیر موجود در ستون Quantity است. برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید. مثل همیشه نیز باید بدانید که مقادیر NULL حساب نمی شوند چرا که مقداری ندارند.

 

تمرینات

 

حتما می دانید که راز برنامه نویسی در کدنویسی است! این جمله یعنی شما تا با دستان خود و با فکر خود کد ننویسید برنامه نویس نخواهید شد حتی اگر کدها را بفهمید. دیدن و فهمیدن کدها یک چیز است و نوشتن آن ها چیزی دیگر! بنابراین در هر چند جلسه ممکن است تمریناتی به شما بدهیم و از شما بخواهیم جواب را پیدا کنید. توصیه ی بنده این است که مستقیما به سمت جواب نروید بلکه سعی کنید خودتان آن را به دست بیاورید. برویم سراغ تمرین ها…

 

سوال اول: مقادیر City  و Country را به بروزرسانی (UPDATE) کنید:

 

مقادیر City  و Country را به بروزرسانی (UPDATE) کنید

 

پاسخ سوال:

 

در جلسات قبل توضیح دادیم که برای تعیین مقدار از دستور SET استفاده می کنیم. همچنین کلیدواژه ی UPDATE که در صورت سوال به شما دادیم به معنای بروزرسانی است (یعنی تغییر دادن یک مقدار قدیمی). نکته ی خاصی در مورد Country وجود ندارد اما نکته ی ریزی که اکثر برنامه نویسان فراموش می کنند قرار دادن ویرگول بین مقادیر مختلفی است که تعیین می شوند. به خط ,‘SET City = ‘Oslo در کد دقت کنید؛ اگر ویرگول (که قرمز شده است) برداشته شود تمام کد ما خراب می شود.


 

سوال دوم: تمام ردیف هایی که در جدول Customers قرار دارند و مقدار Country  در آن ها برابر با Norway است را حذف کنید:

 

تمام ردیف هایی که در جدول Customers قرار دارند و مقدار Country  در آن ها برابر با Norway است را حذف کنید

 

پاسخ سوال:

 

دستور DELETE و همچنین دستور WHERE در مقالات زیر مورد بحث قرار گرفت:

دستورات UPDATE و DELETE در SQL

دستور WHERE در SQL (+تمرینات)

اگر با دستور DELETE و مخصوصا نکات ریز WHERE آشنا بوده باشید، این سوال برایتان هیچ نکته ی خاصی نداشته است.


 

سوال سوم: از بین توابعی که در این جلسه یاد گرفته ایم، تابعی را انتخاب کنید که ردیف هایی را به ما برگرداند که در آن ها Price دارای مقدار 18 است:

 

از بین توابعی که در این جلسه یاد گرفته ایم، تابعی را انتخاب کنید که ردیف هایی را به ما برگرداند که در آن ها Price دارای مقدار 18 است

 

پاسخ سوال:

 

نکات کد بالا:

با تابع COUNT آشنا شده ایم و میدانیم که تعداد ردیف هایی را بر می گرداند که با حالت یا شرط خاصی انطباق دارند. این حالت یا شرط خاص را می توان درون پرانتز های آن (به عنوان پارامتر) نوشت. ما در این مثال از علامت ستاره * استفاده کرده ایم؛ باید بدانید علامت ستاره یعنی همه! به عبارت دیگر کد (*)SELECT COUNT می گوید همه را بشمار، سپس خط FROM Products جدول ما را مشخص می کند و ;WHERE Price = 18 می گوید در مواقعی که مقدار price برابر 18 باشد.

 

خلاصه ی مقاله

 

در قسمت اول این مقاله با توابع مهم زبان SQL آشنا شدیم؛ یعنی توابع MIN, MAX, COUNT, AVG, SUM و برای هر کدام مثال هایی ذکر کردیم. سپس در قسمت دوم مقاله طبق عادت همیشگی چند تمرین به شما ارائه کرده و آن ها را با پاسخ صحیح تحلیل کردیم. واضح است که این توابع تمام توابع موجود در SQL نیستند اما میتوان گفت از پرکاربرد ترین آن ها به شمار می آیند. امیدوارم از این قسمت لذت برده باشید.

 

منبع: سایت روکسو


اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید