آموزش رایگان صفر تا صد اسکیوال (SQL) به زبان ساده
-
آشنایی با SQL
-
آشنایی با دستورات SQL
-
دستور SELECT در SQL
-
دستور SQL SELECT DISTINCT
-
فیلتر کردن دادهها با WHERE در SQL
-
دستور ORDER BY در SQL
-
عملگر AND در SQL چیست؟
-
اپراتور OR در SQL
-
اپراتور NOT در SQL
-
دستور INSERT INTO در SQL
-
مقدار NULL در SQL
-
دستور UPDATE در SQL – بهروزرسانی اطلاعات جدول
-
دستور DELETE در SQL
-
مفهوم TOP، LIMIT، FETCH FIRST یا ROWNUM در SQL
-
توابع تجمیعی در SQL
-
معرفی توابع ()MIN و ()MAX در SQL
-
تابع COUNT() در SQL
-
تابع SUM() در SQL
-
تابع ()AVG در SQL
-
عملگر LIKE در SQL
-
استفاده از Wildcards در SQL
-
دستور IN در SQL
-
دستور BETWEEN در SQL
-
آشنایی با Aliases در SQL
-
مفهوم SQL JOIN
-
مفهوم INNER JOIN در SQL
تابع ()AVG در SQL
تابع ()AVG در SQL برای محاسبه میانگین مقدار یک ستون عددی استفاده میشود. این تابع مقادیر NULL را نادیده میگیرد و میانگین فقط از مقادیر معتبر حساب میشود.
🔹 نحوه استفاده از ()AVG
فرض کنید میخواهیم میانگین قیمت همه محصولات را محاسبه کنیم. برای این کار از کوئری زیر استفاده میکنیم:
💡 نکته: اگر مقدار NULL در ستون باشد، در محاسبه میانگین در نظر گرفته نمیشود.
🛠 ساختار کلی تابع ()AVG
در کد بالا
🔹 column_name: نام ستونی که میخواهیم میانگین آن را محاسبه کنیم.
🔹 table_name: نام جدول موردنظر.
🔹 condition: شرطی که مشخص میکند کدام سطرها در میانگینگیری در نظر گرفته شوند (اختیاری).
📊 مثال عملی – جدول محصولات
در اینجا نمونهای از جدول Products که برای مثالها استفاده شده است، آورده شده است:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | $18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | $19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | $10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | $22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | $21.35 |
🔍 میانگینگیری با شرط (WHERE)
گاهی اوقات نیاز داریم فقط میانگین یک دسته خاص از دادهها را بگیریم. در این مثال، میانگین قیمت محصولاتی که در دسته ۱ قرار دارند را محاسبه میکنیم:
🏷 استفاده از Alias (نامگذاری ستون خروجی)
برای خواناتر کردن خروجی، میتوانیم با استفاده از AS به ستون میانگین نام بدهیم:
🔹 خروجی این کوئری ستونی با نام “average price” خواهد داشت.
📈 یافتن محصولات گرانتر از میانگین قیمت
میتوانیم محصولاتی را که قیمتشان بالاتر از میانگین قیمت تمام محصولات است پیدا کنیم. برای این کار از زیر کوئری (Subquery) استفاده میکنیم:
💡 نکته: این کوئری ابتدا میانگین قیمت را محاسبه میکند و سپس محصولاتی که قیمت بالاتری دارند را نمایش میدهد.
🛍 میانگین قیمت بر اساس دستهبندی (GROUP BY)
اگر بخواهیم میانگین قیمت هر دسته از محصولات را بهطور جداگانه ببینیم، میتوانیم از GROUP BY استفاده کنیم:
🔹 این کوئری دادهها را بر اساس CategoryID گروهبندی میکند و میانگین قیمت هر گروه را نمایش میدهد.
🚀 جمعبندی
- تابع ()AVG میانگین مقادیر عددی یک ستون را محاسبه میکند.
- مقدارهای
NULLدر محاسبه میانگین در نظر گرفته نمیشوند. - میتوان با
WHEREفقط دادههای خاصی را میانگین گرفت. - با
ASمیتوان ستون خروجی را نامگذاری کرد. - با استفاده از
GROUP BYمیتوان میانگین را برای هر دسته از دادهها جداگانه محاسبه کرد.
❓ تمرین:
یک کوئری بنویسید که میانگین قیمت محصولات را برای دسته ۲ محاسبه کند و ستون خروجی را “میانگین قیمت دسته ۲” نامگذاری کند. 🚀
