SQL Joins - الجداول المترابطة في SQL

SQL Joins - الجداول المترابطة في SQL

SQL Joins - الجداول المترابطة في SQL

جملة JOIN تُستخدم لدمج الصفوف من جدولين أو أكثر، بناءً على عمود مشترك بينهم. تُسهل عمليات استعلام البيانات المعقدة من أكثر من جدول وتساعد على تحليل البيانات بشكل أفضل.

مثال توضيحي

جدول Orders:

OrderIDCustomerIDOrderDate
1030821996-09-18
10309371996-09-19
10310771996-09-20

جدول Customers:

CustomerIDCustomerNameContactNameCountry
1Alfreds FutterkisteMaria AndersGermany
2Ana Trujillo Emparedados y heladosAna TrujilloMexico
3Antonio Moreno TaqueríaAntonio MorenoMexico

لاحظ أن عمود CustomerID في جدول Orders يشير إلى العمود نفسه في جدول Customers. إذن العلاقة بين الجدولين تتم من خلال هذا العمود.

INNER JOIN

باستخدام INNER JOIN نستطيع إحضار السجلات التي تحتوي على قيم متطابقة في الجدولين:

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

الناتج سيكون كالتالي:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10383Around the Horn1996-12-16

LEFT (OUTER) JOIN

يُرجع كل السجلات من الجدول الأيسر، مع السجلات المطابقة من الجدول الأيمن. إذا لم يوجد تطابق، تظهر القيم من الجدول الأيمن كـ NULL.

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

RIGHT (OUTER) JOIN

يُرجع كل السجلات من الجدول الأيمن، مع السجلات المطابقة من الجدول الأيسر.

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

FULL (OUTER) JOIN

يُرجع جميع السجلات عندما يوجد تطابق في أي من الجدولين، وتظهر القيم غير المطابقة كـ NULL.

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
  

نصائح عملية عند استخدام JOIN

  • استخدم Aliases للأعمدة والجداول لتسهيل كتابة الاستعلامات الطويلة.
  • تأكد من وجود الفهرسة (Indexes) على الأعمدة المشتركة لتحسين سرعة الاستعلام.
  • يمكنك دمج أكثر من جدول باستخدام أكثر من JOIN في نفس الاستعلام.
  • انتبه للقيم NULL عند استخدام LEFT أو RIGHT JOIN.

تمرين

ما هو الهدف الأساسي من استخدام SQL JOIN؟

  1. إنشاء جدول جديد من الجداول الموجودة.
  2. حذف الصفوف المكررة في جدول.
  3. ترتيب البيانات تصاعديًا أو تنازليًا.
  4. دمج الصفوف من جدولين أو أكثر استنادًا إلى عمود مشترك. ✅

تعليقات