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

ما الفرق بين INNER JOIN وLEFT JOIN في SQL؟

  • INNER JOIN: الصفوف المتطابقة في الجدولين فقط.
  • LEFT JOIN: كل صفوف الجدول الأول، ومعها ما يطابقها من الثاني، أو NULL إذا لم يوجد تطابق.
-- users with at least one order
SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON o.user_id = u.id;

-- every user, with or without orders
SELECT u.name, o.total
FROM users u
LEFT JOIN orders o ON o.user_id = u.id;

استخدام عملي لـ LEFT JOIN

إيجاد المستخدمين الذين لم يطلبوا شيئًا:

SELECT u.name
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE o.id IS NULL;

اختبر نفسك

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