این جلسه آموزشی چهار ساعته شامل دو بخش دو ساعته بود که ویدئوی هر بخش به صورت جداگانه قابل مشاهده است.
- بخش اول: مفاهیم پایه و ساختار کوئری SQL
- بخش دوم: مثالهای عملی و تحلیل دادهها با دیتابیس Northwind
هدف اصلی این جلسه، آشنایی با ابزارها و تکنیکهای تحلیل دادهها در PostgreSQL و آمادهسازی برای تحلیلهای پیشرفتهتر بود.
🟢 بخش اول – مفاهیم پایه کوئری نویسی
۱. ساختار استاندارد یک دستور SELECT
یاد گرفتیم یک دستور SQL از چه بخشهایی تشکیل شده و ترتیب اجرای آن چگونه است:
SELECT [ستونها / محاسبات] -- انتخاب ستونها یا مقادیر محاسباتی
FROM [جدولها / جداول مرتبط] -- منبع داده
WHERE [شرایط فیلتر] -- فیلتر ردیفها
GROUP BY [ستونها] -- گروهبندی دادهها
HAVING [شرایط گروهبندی] -- فیلتر روی گروهها
ORDER BY [ستونها / محاسبات] -- مرتبسازی خروجی
LIMIT [تعداد ردیفها] -- محدود کردن تعداد نتایج
این ساختار پایه برای همه کوئریها و تحلیلها استفاده میشود.
۲. انتخاب ستونها و استفاده از نام مستعار (Aliases)
- استفاده از
AS برای تغییر نام ستونها یا جداول.
- ایجاد خروجی خواناتر و قابل فهمتر برای گزارشها.
۳. دستورات کاربردی اولیه
- WHERE، ORDER BY، LIMIT برای فیلتر، مرتبسازی و محدود کردن نتایج.
- استفاده از
IN برای بررسی عضویت مقدار در مجموعهای از مقادیر.
- مدیریت NULL با
COALESCE(), NULLIF(), و IS NULL / IS NOT NULL.
🟢 بخش دوم – مثالهای عملی با دیتابیس Northwind
۱. تحلیل و دستهبندی دادهها
- CASE WHEN … END پیشرفته:
اعمال منطق شرطی برای دستهبندی، برچسبگذاری و محاسبات شرطی.
- FILTER در توابع تجمعی برای اعمال شرط روی مقادیر در گروهبندی.
۲. تجمیع و گروهبندی دادهها
- GROUP BY: جمعآوری دادهها در گروهها.
- HAVING: اعمال شرط روی گروهها (مثلاً گروههایی با حداقل تعداد سفارش مشخص).
- توابع تجمعی:
SUM, AVG, COUNT, MIN, MAX.
۳. زیرپرسوجوها (Subqueries)
- استفاده از خروجی یک کوئری به عنوان ورودی کوئری دیگر.
- انواع زیرپرسوجوها:
- اسکالر (Scalar Subquery)
- چندستونه / جدول (Tuple / Table Subquery)
- در SELECT، WHERE و FROM
- ابزارهای پیشرفته:
- EXISTS / NOT EXISTS برای بررسی وجود دادهها.
- SOME / ALL برای مقایسه با مجموعهای از مقادیر.
- CTE / WITH برای تعریف زیرپرسوجوهای خواناتر و قابلاستفاده مجدد.
۴. مدیریت دادهها و توابع کاربردی PostgreSQL
- توابع رشتهای:
CONCAT, CONCAT_WS, ||, SUBSTRING, split_part, regexp_replace
- توابع عددی:
ROUND, CEIL, FLOOR, ABS, MOD
- توابع تاریخ و زمان:
EXTRACT, DATE_TRUNC, AGE, NOW, DATE_PART
- توابع تجمعی و پیشرفته:
STRING_AGG, ARRAY_AGG, JSON_AGG, DISTINCT ON, SIMILAR TO, generate_series
- تابع جدید
ANY_VALUE در PostgreSQL 18
- قابلیت تعریف توابع تجمعی سفارشی
۵. عملیات روی مجموعهها
- UNION, INTERSECT, EXCEPT برای ترکیب و مقایسه دادهها بین مجموعهها.
۶. مثالها و کاربردها
- تحلیل سفارشها بر اساس هزینه، کشور و کارمند.
- دستهبندی محصولات بر اساس موجودی.
- ایجاد جدولهای موقت برای محاسبات پیچیده.
- تولید دادههای تست با
generate_series و ترکیب توابع ||, SUBSTRING, MD5 برای ساخت ایمیل، پسورد و نام کاربری.
🟢 نکات کلیدی و توصیهها
- زیرپرسوجوها و CTEها امکان تفکر چندلایه و ساخت کوئریهای پیچیده را بدون JOIN فراهم میکنند.
- استفاده از توابع داخلی PostgreSQL باعث خوانایی، سرعت و نگهداری آسانتر کوئریها میشود.
- پس از این جلسه، شما آماده تحلیلهای پیشرفته و ورود به دنیای JOIN و گزارشگیری پیچیده هستید.
🎬 محتوای ویدئویی
- بخش اول: اصول کوئری نویسی و ساختار SELECT در PostgreSQL
- بخش دوم: کارگاه عملی با دیتابیس Northwind، مثالهای واقعی و تحلیل دادهها
اگر ویدئوها در قسمت بالا نمایش داده نمی شوند ابتدا فیلتر شکن خود را چک کنید که خاموش باشد و سپس اگر مشکل برطرف نشد، کش مرورگر را پاک کنید.