0Pricing
Digital Marketing Academy · درس

ضم جداول التسويق

الجلسات والمستخدمون والطلبات

ضم جداول التسويق درس مجاني في Digital Marketing Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Digital Marketing Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Digital Marketing Academy 4 دروس في المجموع.

لماذا نستخدم JOIN؟

تمتد الأسئلة الواقعية عبر عدة جداول. فالإنفاق موجود في الحملات، والإيرادات في الطلبات، والخصائص في المستخدمين. ولحساب ROAS أو LTV حسب الشريحة، يجب دمج هذه البيانات.

تطابق JOINs الصفوف من جدولين باستخدام مفتاح مشترك، مثل user_id أو campaign_id.

SELECT o.order_id, u.country
FROM orders o
JOIN users u ON o.user_id = u.user_id;

INNER JOIN

يعرض INNER JOIN الصفوف التي يوجد لها تطابق في كلا الجدولين فقط. وتُستبعد الطلبات التي لا يطابقها مستخدم، وكذلك المستخدمون الذين لا يملكون طلبات.

استخدمه عندما تهتم فقط بالسجلات الموجودة في كلا الجانبين، مثل سجلات المشترين.

SELECT u.user_id, u.country, SUM(o.revenue) AS revenue
FROM users u
JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id, u.country;

LEFT JOIN

يحتفظ LEFT JOIN بكل صف من الجدول الأيسر حتى عند عدم وجود تطابق في الجدول الأيمن. وتظهر القيم المفقودة على هيئة NULL.

بهذه الطريقة يمكنك العثور على المستخدمين الذين لم يقدّموا أي طلب، أو الجلسات التي لم تتحول إلى عمليات تحويل.

SELECT u.user_id, COALESCE(SUM(o.revenue), 0) AS revenue
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id;

العثور على الفجوات

استخدم LEFT JOIN مع فحص NULL لعزل الصفوف غير المتطابقة. ويُعد سؤال "أيّ تسجيلات الاشتراك لم تؤدِّ إلى عملية شراء؟" سؤالًا كلاسيكيًا في تحليل الاحتفاظ.

يعني ظهور NULL في الجانب الأيمن عدم وجود طلب مطابق.

SELECT u.user_id, u.signup_date
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
WHERE o.order_id IS NULL;

ربط الجلسات بالطلبات

يربط وصل الجلسات بالطلبات بين سلوك المستخدم والنتيجة التي حققها. طابِق باستخدام user_id لمعرفة أي الزيارات أدت في النهاية إلى شراء.

وهذا هو الأساس لتحليل إسناد القنوات.

SELECT s.channel, SUM(o.revenue) AS revenue
FROM sessions s
JOIN orders o ON o.user_id = s.user_id
GROUP BY s.channel;

حساب ROAS

يتطلب ROAS الحقيقي عرض الإنفاق والإيرادات جنبًا إلى جنب. صِل الحملات بالطلبات باستخدام campaign_id، ثم اقسم الإجماليات.

تحميك NULLIF من القسمة على إنفاق يساوي صفرًا.

SELECT c.campaign_id,
       SUM(o.revenue) / NULLIF(SUM(c.spend), 0) AS roas
FROM campaigns c
LEFT JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.campaign_id;

الأسماء المستعارة للجداول

تحافظ الأسماء المستعارة (o للطلبات وu للمستخدمين) على قِصر الاستعلامات متعددة الجداول ووضوحها. احرص دائمًا على تحديد الجدول لكل عمود عندما يتكرر الاسم في كلا الجدولين.

تجعل الأسماء المستعارة الواضحة عمليات JOIN المعقدة أسهل بكثير في القراءة وتصحيح الأخطاء.

SELECT c.name AS campaign, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.name;

ربط ثلاثة جداول

سلسِل عبارات JOIN لضم أكثر من جدولين. نربط هنا الحملات بالطلبات ثم بالمستخدمين لتقسيم الإيرادات حسب البلد.

تضيف كل عبارة JOIN شرط ON آخر يربط الجدول الجديد بمجموعة الجداول الموجودة.

SELECT c.name, u.country, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
JOIN users u ON u.user_id = o.user_id
GROUP BY c.name, u.country;

انتبه إلى مستوى البيانات

يمكن أن يؤدي ربط علاقة واحد إلى متعدد إلى مضاعفة الصفوف وتضخيم الإجماليات. فإذا كانت لحملة واحدة طلبات كثيرة، فإن جمع الإنفاق لكل طلب يؤدي إلى احتسابه عدة مرات.

جمّع كل جانب على حدة، ثم صِل الإجماليات، للحفاظ على دقة الأرقام.

SELECT c.campaign_id, c.total_spend, r.revenue
FROM campaigns c
JOIN (
  SELECT campaign_id, SUM(revenue) AS revenue
  FROM orders GROUP BY campaign_id
) r ON r.campaign_id = c.campaign_id;

إسناد اللمسة الأولى

لإسناد الفضل إلى القناة الأولى التي أتى منها المستخدم، اعثر على أقدم جلسة لكل مستخدم، ثم صِلها بطلباته.

يعزل الاستعلام الفرعي اللمسة الأولى قبل ربط الإيرادات.

SELECT f.channel, SUM(o.revenue) AS revenue
FROM (
  SELECT DISTINCT ON (user_id) user_id, channel
  FROM sessions ORDER BY user_id, session_date
) f
JOIN orders o ON o.user_id = f.user_id
GROUP BY f.channel;

تطبيقات JOIN العملية

تظهر قوة SQL التسويقية عند استخدام JOINs. فالإنفاق مع الإيرادات يعطي ROAS، والجلسات مع الطلبات تعطي الإسناد، والمستخدمون مع الطلبات يعطون LTV حسب الشريحة.

اختر INNER عندما يجب أن يكون الجانبان موجودين، واختر LEFT عندما تريد الاحتفاظ بالفجوات وفحصها.

اختبار سريع

تريد إدراج كل مستخدم سجّل، بما في ذلك من لم يقدّم أي طلب. أي JOIN تستخدم؟

مراجعة

يحتفظ INNER JOIN بالتطابقات في كلا الجانبين، بينما يحتفظ LEFT JOIN بكل صفوف الجانب الأيسر ويكشف الفجوات. وتحافظ الأسماء المستعارة والأعمدة المحددة بجداولها على نظافة الاستعلامات.

احذر مشكلة تضاعف الصفوف في علاقات واحد إلى متعدد؛ نفّذ التجميع مسبقًا للحفاظ على دقة الإجماليات. التالي: استعلامات الأفواج ومسارات التحويل.

الأسئلة الشائعة

هل درس «ضم جداول التسويق» مجاني؟

نعم — نص درس «ضم جداول التسويق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Digital Marketing Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Digital Marketing Academy 4 دروس في المجموع.

ماذا ستتعلم في «ضم جداول التسويق»؟

الجلسات والمستخدمون والطلبات تتمرن على Digital Marketing Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Digital Marketing Academy؟

لا تُشترط خبرة سابقة. Digital Marketing Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «ضم جداول التسويق»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Digital Marketing Academy هذا؟

نعم. كل درس في Digital Marketing Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. لماذا يتعلم المسوقون SQL
  2. ‏SELECT وWHERE وGROUP BY
  3. ضم جداول التسويق
  4. استعلامات الشرائح ومسارات التحويل
← العودة إلى Digital Marketing Academy