أنواع انضمام MySQL | MySQL تنضم [مع بناء الجملة]

نشرت: 2020-12-09

جدول المحتويات

مقدمة

MySQL هو نظام إدارة قواعد بيانات علائقية مفتوح المصدر (RDBMS) مدعوم من Oracle. يتكون MySQL من كلمتين - "My" ، اسم ابنة المؤسس المشارك Michael Widenius ، و "SQL" ، اختصار لـ Structured Query Language.

كلمة العلائقية في RDBMS هي الأساس الذي ينضم إليه في MySQLwork. يمكن أن يكون هناك العديد من أنواع وأرقام الجداول في أي قاعدة بيانات. JOINS كما يوحي الاسم بربط الجداول معًا باستخدام أعمدة مشتركة. أحد الأمثلة الأساسية هو أن الجدول 1 يحتوي على تفاصيل الموظفين والجدول 2 يحتوي على تفاصيل المشروع.

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

سمات

  • MySQL مفتوح المصدر ونظام RDBMS مناسب للوصول إلى سجلات الجداول وإدارتها.
  • يدعم لغة ترميز SQL ، وهو أمر شائع جدًا في مجال إدارة قواعد البيانات.
  • MySQL أساسي وسهل الاستخدام. يحتوي على قدر هائل من الوثائق إذا واجه شخص ما مشكلة معينة.
  • تمتلك MySQL طبقة أمان قوية جدًا. يتم تشفير كلمات المرور وبالتالي تصبح البيانات الحساسة في مأمن من المتسللين.
  • MySQL قابلة للتطوير ، لأنها تدعم خيوط المعالجة المتعددة. تعد Multi-Threading مسؤولة عن تنفيذ الاستعلام السريع ومعالجة البيانات حتى لو كان حجم الجدول كبيرًا جدًا.
  • تمتلك MySQL بنية العميل / الخادم. يوجد خادم قاعدة بيانات والعديد من العملاء (برامج التطبيقات) المتصلة بالخادم.

أنواع الصلات

صلة داخلية

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

مقتطف الكود:

حدد t1 . emp_id ، t1.emp_name، t2.project_name

من موظف كـ t1

مشروع INNER JOIN كـ t2

تشغيل t1.project_id = t2 . معرف المشروع

في هذا الاستعلام ، هناك جدولين. يتكون الجدول الأول من تفاصيل الموظفين والثاني يشمل جميع المشاريع الجارية حاليًا. بعد تشغيل الاستعلام أعلاه ، ستعيد MySQL جميع الموظفين مع تفاصيل المشروع الخاصة بهم. هنا العمود معرف المشروع هو مفتاح خارجي في جدول الموظف والمفتاح الأساسي في جدول المشاريع. لن يتم إرجاع الموظفين الذين ليس لديهم أي project_id أو project_id بدون أي موظف.

انضمام اليسار

ينضم إلى اليسار وينضم ويعيد السجلات المطابقة من الجدولين والسجلات غير المتطابقة من الجدول الأول. ترجع الصلة اليسرى بشكل أساسي إخراج الصلة الداخلية + السجلات غير المتطابقة من الجدول الأول. ستحتوي هذه الصفوف غير المتطابقة أيضًا على أعمدة من الجدول 2 ولكن القيمة في هذه الأعمدة ستكون فارغة نظرًا لعدم وجود بيانات مطابقة لتلك الأعمدة.

مقتطف الكود:

حدد t1 . emp_id ، t1.emp_name، t2.project_name

من موظف كـ t1

مشروع LEFT JOIN كـ t2

تشغيل t1.project_id = t2 . معرف المشروع

في هذا الاستعلام ، هناك جدولين. يتكون الجدول الأول من تفاصيل الموظفين والثاني يشمل جميع المشاريع الجارية حاليًا. بعد تشغيل الاستعلام أعلاه ، ستعيد MySQL جميع الموظفين مع تفاصيل المشروع الخاصة بهم وكذلك تفاصيل الموظف التي لم يتم تعيين معرف المشروع بها. هنا العمود معرف المشروع هو مفتاح خارجي في جدول الموظف والمفتاح الأساسي في جدول المشاريع.

قراءة: إعادة تسمية اسم العمود في SQL

حق الانضمام

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

مقتطف الكود:

حدد t1 . emp_id ، t1.emp_name، t2.project_name

من موظف كـ t1

مشروع RIGHT JOIN كـ t2

تشغيل t1.project_id = t2 . معرف المشروع

بعد تشغيل الاستعلام أعلاه ، ستعيد MySQL جميع الموظفين مع تفاصيل المشروع الخاصة بهم وكذلك تفاصيل المشاريع التي لا يوجد بها موظفين مطابقين. ستكون أعمدة تفاصيل الموظف فارغة في تلك الحالات.

انضمام كامل

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

مقتطف الكود:

حدد *

من موظف كـ t1

مشروع FULL OUTER JOIN كـ t2

تشغيل t1.project_id = t2 . معرف المشروع

بعد تشغيل الاستعلام أعلاه ، ستعيد MySQL جميع الموظفين مع تفاصيل المشروع الخاصة بهم ، وكذلك تفاصيل الموظفين الذين ليس لديهم مشاريع والمشاريع التي ليس بها موظفين مطابقين. ستحتوي أعمدة معينة على قيم NULL وفقًا لذلك.

تقاطع الانضمام

كما يوحي الاسم ، فإن الصلة المتقاطعة ستنضم إلى كل صف من الجدول 1 مع كل صف من الجدول 2. بصرف النظر عن الأعمدة المتطابقة. ومن ثم ، إذا كان هناك 5 سجلات في كل جدول ، فسيكون الناتج 25 صفًا حيث يتم مطابقة كل صف مع صف آخر.

مقتطف الكود:

حدد *

من موظف كـ t1

مشروع CROSS JOIN كـ t2

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

اقرأ أيضًا: أسئلة وأجوبة مقابلة SQL

قم بالتسجيل في دورات هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

تعد JOINS جزءًا مهمًا من استخراج البيانات. إنها تساعد في تجميع البيانات من جداول مختلفة وفقًا لاحتياجات المستخدم. يمكن أن تكون العيب الوحيد في JOINS هو أنها معقدة في الكتابة في بعض الأحيان. في نهاية اليوم ، تعد JOINS مفيدة جدًا ويمكن تنفيذ أنواع مختلفة من الصلات في MySQL.

بشكل عام ، سيضيف التعلم والتدريب العملي على جميع قواعد البيانات المذكورة في هذه المقالة إلى تجربتك. انتقل إلى نظرة عامة على الدورة التدريبية ، والتعلم ، وفرص العمل التي تنطوي عليها - تقدم منصات مثل upGrad دورات مليئة بالطاقة مصممة من قبل معاهد مرموقة مثل IIIT-B في Executive PG Program Full Stack Development.

استعد لمهنة المستقبل

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات