شبكة تعلم مع ناو

ما الفرق بين INNER JOIN وLEFT JOIN؟ (باختصار)

  • INNER JOIN: السجلات المرتبطة في الجدولين فقط.
  • LEFT JOIN: كل سجلات الجدول الأيسر، حتى لو لم يكن لها مقابل في الأيمن.
-- authors who wrote at least one post
SELECT a.name, p.title
FROM authors a
INNER JOIN posts p ON p.author_id = a.id;

-- all authors; title is NULL for those without posts
SELECT a.name, p.title
FROM authors a
LEFT JOIN posts p ON p.author_id = a.id;

الجدول “الأيسر” هو المكتوب بعد FROM. وLEFT JOIN ليست “بطيئة جدًا” بطبيعتها، والسرعة تعتمد غالبًا على الفهارس.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.