Structured Query Language (SQL) برای ذخیره، مدیریت و سازماندهی اطلاعات در یک سامانه مدیریت پایگاه داده رابطهای (RDBMS) استفاده میشود. SQL همچنین میتواند محاسبات انجام دهد و دادهها را از طریق عبارات دستکاری کند. عبارات ترکیبی از عملگرها، توابع و مقادیر SQL هستند تا یک مقدار محاسبهشده تولید کنند. عبارات ریاضی معمولاً برای جمع، تفریق، ضرب و تقسیم مقادیر عددی استفاده میشوند. علاوه بر این، توابع تجمیعی (Aggregate) برای ارزیابی و گروهبندی مقادیر و تولید خلاصههایی مانند میانگین یا مجموع یک ستون به کار میروند. عبارات ریاضی و توابع تجمیعی میتوانند از طریق تحلیل دادهها بینشهای ارزشمندی فراهم کنند که به تصمیمگیریهای آتی کمک کنند.
آنچه در این آموزش خواهید آموخت
در این آموزش عملی، ابتدا با عملیات عددی روی یک ماشینحساب آشنا میشوید، سپس همین عملگرها را روی دادههای نمونه با استفاده از کوئریهای SQL و توابع تجمیعی اجرا میکنید و در نهایت با سناریوهای کسبوکاری پیچیدهتر، تحلیل دادهها را تمرین خواهید کرد.
پیشنیازها
برای تکمیل این آموزش به یک پایگاه داده و دسترسی به MySQL نیاز دارید. توجه: بسیاری از RDBMSها پیادهسازیهای خاص خود از SQL را دارند؛ هرچند دستورات این آموزش در بیشتر سیستمها کار میکنند، اما دستور دقیق یا خروجی ممکن است در سیستمهای غیر از MySQL متفاوت باشد.
آمادهسازی پایگاه داده نمونه
برای تمرین مثالهای این آموزش به یک دیتابیس و جدول حاوی داده نمونه نیاز دارید. اگر دیتابیسی ندارید، بخش زیر را دنبال کنید تا یک پایگاه داده و جدول نمونه بسازید. در ادامه این آموزش، به این دیتابیس و جدول ارجاع داده میشود.
اتصال به سرور MySQL
اگر پایگاه داده شما روی سرور از راه دور اجرا میشود، ابتدا از ماشین محلی خود به سرور SSH بزنید:
ssh username@server_ip_address
سپس به پرامپت MySQL وارد شوید، مقدار sammy را با شناسه کاربری MySQL خود جایگزین کنید:
mysql -u sammy -p
ایجاد دیتابیس
یک دیتابیس به نام mathDB بسازید:
CREATE DATABASE mathDB;
اگر دیتابیس با موفقیت ایجاد شد، خروجی مناسبی دریافت خواهید کرد. سپس دیتابیس را انتخاب کنید:
USE mathDB;
ایجاد جدول نمونه
در ادامه، جدولی به نام product_information ایجاد میکنیم تا اطلاعات موجودی و فروش یک چایفروشی کوچک را نگهداری کند. این جدول شامل هشت ستون زیر است:
- product_id
- product_name
- product_type
- product_cost
- product_retail
- total_inventory
- in_store_sales
- online_sales
برای ایجاد جدول نمونه، دستور زیر را اجرا کنید:
CREATE TABLE product_information (
product_id INT PRIMARY KEY,
product_name VARCHAR(100),
product_type VARCHAR(50),
product_cost DECIMAL(5,2),
product_retail DECIMAL(5,2),
total_inventory INT,
in_store_sales INT,
online_sales INT
);
درج داده نمونه
حالا دادههای نمونه را وارد جدول کنید:
INSERT INTO product_information (product_id, product_name, product_type, product_cost, product_retail, total_inventory, in_store_sales, online_sales) VALUES
(1, 'Golden Teaspoon', 'Accessory', 2.00, 5.00, 50, 30, 20),
(2, 'Chai', 'Tea', 1.25, 1.50, 100, 60, 40),
(3, 'Jasmine', 'Tea', 1.25, 1.50, 80, 50, 30),
(4, 'Matcha', 'Tea', 1.25, 1.50, 60, 30, 30),
(5, 'Oolong', 'Tea', 1.25, 1.50, 40, 20, 20);
پس از درج دادهها، آمادهاید تا از عبارات ریاضی استفاده کنید.
کوئریهای محاسباتی پایه با SELECT
معمولاً از SELECT برای واکشی دادهها استفاده میکنید، اما میتوانید از آن برای انجام محاسبات ریاضی نیز استفاده نمایید. در این بخش صرفاً با استفاده از SELECT روی مقادیر عددی تمرین میکنیم تا با کارکرد عملگرها آشنا شویم. چون اینجا دادهای از جدول واکشی نمیکنیم، نیازی به عبارت FROM نیست.
عملگرهای ریاضی پایه
- جمع:
+ - تفریق:
- - ضرب:
* - تقسیم:
/ - مدولو:
% - توان:
POW(x,y)
مثالها:
SELECT 5 + 3;
SELECT 10 - 2.5;
SELECT 2 * 3 * 4;
SELECT 7.5 / 2;
SELECT 10 % 3;
SELECT POW(2, 3);
ترتیب عملیات (PEMDAS)
اگر عبارات پیچیدهتری دارید، ترتیب عملیات مهم است. SQL عبارتها را از چپ به راست و از داخل پرانتز به خارج ارزیابی میکند. مثال:
SELECT (2 + 3) * 4;
SELECT 2 + (3 * 4);
SELECT 10 / 2 - 3;
توابع تجمیعی (Aggregate) روی دادههای نمونه
اکنون از دادههای نمونه برای انجام محاسبات با توابع تجمیعی استفاده میکنیم تا اطلاعات جدیدی درباره کسبوکار چایفروشی استخراج کنیم. توابع اصلی تجمیعی عبارتاند از SUM, MAX, MIN, AVG و COUNT.
SUM
تابع SUM جمع مقادیر یک ستون را محاسبه میکند. بهعنوان مثال مجموع موجودیها:
SELECT SUM(total_inventory) AS total_units_available FROM product_information;
MAX
تابع MAX بیشینه مقدار ستون را برمیگرداند. برای مثال بیشترین هزینه خرید محصولات:
SELECT MAX(product_cost) AS max_cost FROM product_information;
MIN
تابع MIN کمینه مقدار را برمیگرداند. برای مثال کمترین قیمت فروش:
SELECT MIN(product_retail) AS min_retail FROM product_information;
AVG
تابع AVG میانگین مقادیر ستون را محاسبه میکند. میتوانید چند تابع تجمیعی را همزمان اجرا کنید:
SELECT AVG(product_retail) AS avg_retail, AVG(product_cost) AS avg_cost FROM product_information;
COUNT
تابع COUNT تعداد ردیفهای بازگشتی توسط کوئری را محاسبه میکند. مثال:
SELECT COUNT(*) AS products_over_8_retail FROM product_information WHERE product_retail > 8.00;
SELECT COUNT(*) AS products_cost_over_8 FROM product_information WHERE product_cost > 8.00;
سناریوهای تحلیلی برای تصمیمگیری کسبوکار
در این بخش چند سناریوی نمونه آورده شده تا از ترکیب عبارات ریاضی و توابع تجمیعی برای تحلیل دادههای چایفروشی استفاده کنید.
موجودی کل به ترتیب نزولی
محاسبه مجموع واحدهای موجود در هر محصول و مرتبسازی از بیشترین به کمترین مفید است تا بدانید کدام محصولات در انبار بیشتر هستند:
SELECT product_name, total_inventory FROM product_information ORDER BY total_inventory DESC;
این کوئری به برنامهریزی سفارشمجدد کمک میکند.
تحلیل درآمد از فروش حضوری و آنلاین
ابتدا میتوان مقدار فروش حضوری و آنلاین را مشاهده کرد:
SELECT product_name, in_store_sales, online_sales FROM product_information;
حالا مجموع درآمد از هر کانال را محاسبه میکنیم (فرض: درآمد = تعداد فروش * قیمت فروش):
SELECT
SUM(in_store_sales * product_retail) AS total_in_store_revenue,
SUM(online_sales * product_retail) AS total_online_revenue
FROM product_information;
حاشیه سود هر محصول
حاشیه سود برای هر محصول برابر است با (product_retail – product_cost) تقسیمبر product_retail. برای محاسبه حاشیه سود هر سطر:
SELECT
product_name,
(product_retail - product_cost) / product_retail AS profit_margin
FROM product_information;
بر اساس این خروجی، خواهید دانست کدام محصول بیشترین و کدام کمترین حاشیه سود را دارد. مثال: Golden Teaspoon با حاشیه 60% و برخی چایها با حدود 18%.
میانگین حاشیه سود
میتوانید از AVG برای محاسبه میانگین حاشیه سود تمام محصولات استفاده کنید تا یک مقدار مرجع داشته باشید:
SELECT AVG((product_retail - product_cost) / product_retail) AS average_profit_margin FROM product_information;
برای نمونه ممکن است میانگین حاشیه سود برابر 28% باشد.
افزایش قیمت هدف برای رسیدن به حاشیه سود مشخص
فرض کنید میخواهید محصولات با حاشیه سود کمتر از 27% را تا 31% افزایش دهید. برای محاسبه قیمت جدید فروش، از فرمول زیر استفاده میکنیم: تقسیم هزینه محصول بر (1 – target_margin).
SELECT
product_name,
product_cost,
0.31 AS target_margin,
product_cost / (1 - 0.31) AS new_retail_price_to_achieve_31_percent
FROM product_information
WHERE (product_retail - product_cost) / product_retail < 0.27;
خروجی نشان میدهد که برای دستیابی به حاشیه 31% قیمت فروش جدید باید چه مقدار باشد. چنین تحلیلی به تصمیمگیری درباره قیمتگذاری و تمرکز کسبوکار کمک میکند.
جمعبندی
استفاده از عبارات ریاضی در SQL میتواند از حل مسائل ساده محاسباتی تا تحلیلهای پیچیده کسبوکاری را پوشش دهد. آشنایی با عملگرها و قوانین ترتیب عملیات به شما امکان میدهد تا کوئریهایی بنویسید که سوالات “اگر” کسبوکاری را پاسخ دهند و به برنامهریزی استراتژیک کمک کنند.
از اینکه با پارمین کلود همراهید متشکریم.





نظرات کاربران