JOIN

From binaryoption
Jump to navigation Jump to search
Баннер1

JOIN في SQL: دليل شامل للمبتدئين

JOIN أو الربط في لغة SQL هو عملية دمج صفوف من جدولين أو أكثر بناءً على علاقة بينهما. تُعد أوامر الربط من أهم العمليات في قواعد البيانات العلائقية، حيث تسمح باسترجاع بيانات ذات صلة مخزنة في جداول منفصلة. بدون الـ JOIN، سيكون من الصعب جدًا، إن لم يكن مستحيلاً، الحصول على رؤية كاملة للبيانات الموزعة عبر عدة جداول. هذا المقال موجه للمبتدئين ويهدف إلى شرح أنواع الـ JOIN المختلفة وكيفية استخدامها.

المفاهيم الأساسية

قبل الغوص في أنواع الـ JOIN، من المهم فهم بعض المفاهيم الأساسية:

  • الجدول (Table): مجموعة من البيانات المنظمة في صفوف وأعمدة.
  • المفتاح الأساسي (Primary Key): عمود أو مجموعة أعمدة تحدد بشكل فريد كل صف في الجدول.
  • المفتاح الأجنبي (Foreign Key): عمود في جدول يشير إلى المفتاح الأساسي في جدول آخر، مما ينشئ علاقة بين الجدولين.
  • العلاقة (Relationship): الارتباط بين جدولين أو أكثر بناءً على مفتاح أجنبي ومفتاح أساسي.

أنواع JOIN المختلفة

هناك عدة أنواع من الـ JOIN، ولكل منها سلوك مختلف:

  • INNER JOIN (الربط الداخلي): يعيد فقط الصفوف التي لها قيم متطابقة في كلا الجدولين. هذا هو النوع الأكثر شيوعًا من الـ JOIN.
  • LEFT JOIN (الربط الأيسر): يعيد جميع الصفوف من الجدول الأيسر (الجدول المذكور أولاً في الأمر) بالإضافة إلى الصفوف المطابقة من الجدول الأيمن. إذا لم يكن هناك تطابق في الجدول الأيمن، فسيتم عرض قيم NULL في الأعمدة الخاصة بالجدول الأيمن.
  • RIGHT JOIN (الربط الأيمن): يعيد جميع الصفوف من الجدول الأيمن بالإضافة إلى الصفوف المطابقة من الجدول الأيسر. إذا لم يكن هناك تطابق في الجدول الأيسر، فسيتم عرض قيم NULL في الأعمدة الخاصة بالجدول الأيسر.
  • FULL OUTER JOIN (الربط الخارجي الكامل): يعيد جميع الصفوف من كلا الجدولين. إذا لم يكن هناك تطابق في أحد الجدولين، فسيتم عرض قيم NULL في الأعمدة الخاصة بالجدول الآخر. (قد لا يتم دعم هذا النوع في جميع أنظمة قواعد البيانات).
  • CROSS JOIN (الربط التقاطعي): يعيد جميع التركيبات الممكنة للصفوف من كلا الجدولين. لا يتطلب شرط مطابقة.

أمثلة عملية

لنفترض أن لدينا جدولين: `Customers` و `Orders`.

جدول العملاء (Customers)
=== نوع البيانات === INT (المفتاح الأساسي) VARCHAR VARCHAR
John Doe | New York
Jane Smith | London
Peter Jones | Paris
جدول الطلبات (Orders)
=== نوع البيانات === INT (المفتاح الأساسي) INT (المفتاح الأجنبي) DATE
1 | 2023-10-26
2 | 2023-10-27
1 | 2023-10-28

INNER JOIN

```sql SELECT Customers.CustomerName, Orders.OrderID FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID; ```

هذا الاستعلام سيعيد:

  • John Doe, 101
  • John Doe, 103
  • Jane Smith, 102

LEFT JOIN

```sql SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID; ```

هذا الاستعلام سيعيد:

  • John Doe, 101
  • Jane Smith, 102
  • Peter Jones, NULL
  • John Doe, 103

لاحظ أن Peter Jones تم إدراجه لأنه موجود في جدول `Customers`، على الرغم من عدم وجود طلبات مرتبطة به في جدول `Orders`.

RIGHT JOIN

```sql SELECT Customers.CustomerName, Orders.OrderID FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID; ```

هذا الاستعلام سيعيد:

  • John Doe, 101
  • Jane Smith, 102
  • John Doe, 103

CROSS JOIN

```sql SELECT Customers.CustomerName, Orders.OrderID FROM Customers CROSS JOIN Orders; ```

هذا الاستعلام سيعيد جميع التركيبات الممكنة بين العملاء والطلبات (9 صفوف في هذه الحالة).

شروط الربط (JOIN Conditions)

شروط الربط هي عبارة `ON` التي تحدد العلاقة بين الجداول. من المهم اختيار شروط الربط الصحيحة لضمان الحصول على النتائج المطلوبة. يمكن أن تكون شروط الربط بسيطة (مثل `Customers.CustomerID = Orders.CustomerID`) أو معقدة (باستخدام عوامل تشغيل منطقية مثل `AND` و `OR`).

استخدام الأسماء المستعارة (Aliases)

يمكن استخدام الأسماء المستعارة لتبسيط استعلامات الـ JOIN، خاصةً عندما تكون أسماء الجداول طويلة أو عندما يتم استخدام نفس الجدول عدة مرات في نفس الاستعلام.

مثال:

```sql SELECT c.CustomerName, o.OrderID FROM Customers AS c INNER JOIN Orders AS o ON c.CustomerID = o.CustomerID; ```

اعتبارات الأداء

يمكن أن تؤثر استعلامات الـ JOIN بشكل كبير على أداء قاعدة البيانات. من المهم التأكد من أن الجداول المرتبطة تمتلك فهارس (Indexes) مناسبة على الأعمدة المستخدمة في شروط الربط. تحسين الاستعلامات يمكن أن يقلل بشكل كبير من وقت التنفيذ.

موارد إضافية

استراتيجيات التحليل الفني وحجم التداول المتصلة

على الرغم من أن الـ JOIN هي عملية SQL، فإن فهمها مهم لتحليل البيانات المتعلقة بتداول العملات المشفرة. يمكن استخدام الـ JOIN لدمج البيانات من مصادر مختلفة، مثل بيانات أسعار العملات المشفرة وبيانات حجم التداول وبيانات المشاعر الاجتماعية. بعض الاستراتيجيات ذات الصلة تشمل:

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер