آموزش رایگان صفر تا صد اسکیوال (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
فرض کنید میخواهیم میانگین قیمت همه محصولات را محاسبه کنیم. برای این کار از کوئری زیر استفاده میکنیم:
SELECT AVG(Price)
FROM Products;
💡 نکته: اگر مقدار NULL
در ستون باشد، در محاسبه میانگین در نظر گرفته نمیشود.
🛠 ساختار کلی تابع ()AVG
SELECT AVG(column_name)
FROM table_name
WHERE condition;
در کد بالا
🔹 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)
گاهی اوقات نیاز داریم فقط میانگین یک دسته خاص از دادهها را بگیریم. در این مثال، میانگین قیمت محصولاتی که در دسته ۱ قرار دارند را محاسبه میکنیم:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
🏷 استفاده از Alias (نامگذاری ستون خروجی)
برای خواناتر کردن خروجی، میتوانیم با استفاده از AS به ستون میانگین نام بدهیم:
SELECT AVG(Price) AS [average price]
FROM Products;
🔹 خروجی این کوئری ستونی با نام “average price” خواهد داشت.
📈 یافتن محصولات گرانتر از میانگین قیمت
میتوانیم محصولاتی را که قیمتشان بالاتر از میانگین قیمت تمام محصولات است پیدا کنیم. برای این کار از زیر کوئری (Subquery) استفاده میکنیم:
SELECT * FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
💡 نکته: این کوئری ابتدا میانگین قیمت را محاسبه میکند و سپس محصولاتی که قیمت بالاتری دارند را نمایش میدهد.
🛍 میانگین قیمت بر اساس دستهبندی (GROUP BY)
اگر بخواهیم میانگین قیمت هر دسته از محصولات را بهطور جداگانه ببینیم، میتوانیم از GROUP BY
استفاده کنیم:
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
🔹 این کوئری دادهها را بر اساس CategoryID
گروهبندی میکند و میانگین قیمت هر گروه را نمایش میدهد.
🚀 جمعبندی
- تابع ()AVG میانگین مقادیر عددی یک ستون را محاسبه میکند.
- مقدارهای
NULL
در محاسبه میانگین در نظر گرفته نمیشوند. - میتوان با
WHERE
فقط دادههای خاصی را میانگین گرفت. - با
AS
میتوان ستون خروجی را نامگذاری کرد. - با استفاده از
GROUP BY
میتوان میانگین را برای هر دسته از دادهها جداگانه محاسبه کرد.
❓ تمرین:
یک کوئری بنویسید که میانگین قیمت محصولات را برای دسته ۲ محاسبه کند و ستون خروجی را “میانگین قیمت دسته ۲” نامگذاری کند. 🚀