اذهب إلى المحتوى

السؤال

Recommended Posts

  • 2
نشر

نعم بالطبع يمكن دمج أي عدد من الجداول باستخدام الكلمة المفتاحية JOIN مع الأخذ بالملاحظات ليكون الأداء سريع:

  • نحاول عمل الدمج مع المفاتيح الثانوية للجداول الأخرى
  • نحاول عمل الدمج بالاعتماد على الحقول التي تم عمل فهرسة لها
  • ربط الجداول بتسلسل منطقي بين بعضها

لدينا المثال التالي حيث نريد جلب بيانات الزبائن الذين استخدموا خدمة الدفع الالكتروني في الموقع:

جدول sales يحوي جميع المبيعات (رقم الفاتورة وقيمتها)، جدول online_customer يحوي معلومات الزبائن المسجلين بالطريقة الاكترونية، وجدول الطلبيات (رقم الزبون ورقم الطلبية)

  1. نربط جدول بينات الزبائن الإلكترونية مع جدول الطلبيات (حسب معرف الزبون)
  2. نربط جدول الطلبيات مع جدول المبيعات (حسب معرف الطلبية)
  3. نستخدم اسم مستعار لكل جدول
SELECT oc.customer_Name, oc.city, oc.email, s.total
FROM 
	online_customer AS oc
 	INNER JOIN
  	orders AS o
  	ON oc.customerid = o.customerid
  	INNER JOIN
  	sales AS s
  	ON o.orderId = s.orderId

 

multi-join.PNG

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

multi-join-2.PNG

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...