Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

INTERSECT

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy — الدرس 17 من 27.

يعيد INTERSECT فقط الصفوف التي تظهر في كلا مجموعتي النتائج. مثل UNION، فإنه يزيل التكرارات ويتطلب أعمدة متطابقة في كل جانب.

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

هذا هو كل بريد إلكتروني مشترك في النشرة الإخبارية و مستخدم مميز في نفس الوقت، دون كتابة عملية ربط (join).

لماذا نتكبد العناء، عندما يمكن لـ JOIN القيام بذلك أيضًا؟ تعتبر INTERSECT أقصر عندما يكون كلا الجانبين عبارة عن عمليات SELECT بسيطة وأنت تقوم بالمطابقة على الصف بأكمله، وليس مجرد id.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>newsletter</strong>: <strong>email</strong>, <strong>active</strong>
  • <strong>premium</strong>: <strong>email</strong>, <strong>plan</strong>

قم بإرجاع رسائل البريد الإلكتروني التي تظهر كـمشتركين نشطين في النشرة الإخبارية (active = 1) و كمستخدمين مميزين في خطة 'pro'. رتبها أبجدياً.

ورقة مرجعية

يعيد INTERSECT فقط الصفوف التي تظهر في كلا مجموعتي النتائج (مع إزالة التكرارات، ويجب أن تتطابق الأعمدة):

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

استخدم INTERSECT بدلاً من JOIN عند المطابقة على صفوف كاملة عبر عمليتي SELECT بسيطتين.

جرّب بنفسك

-- تصفية كل جانب قبل INTERSECT
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس ما وراء الأساسيات