يمكن العثور على الصفوف التي لا تملك مقابلا باستخدام LEFT JOIN ثم اختبار غياب مفتاح الصف في الطرف الآخر. نبدأ بالجدول الذي نريد فحص جميع صفوفه، مثل البلدان، ونربطه بجدول رواد الفضاء. يحتفظ الربط بكل بلد، حتى عندما لا يجد رائد فضاء مرتبطا به.
بعد ذلك نستخدم WHERE a.id IS NULL لاختيار الصفوف التي لم تجد مطابقا. يفترض هذا الأسلوب أن a.id لا يقبل NULL في الصفوف الحقيقية، كما يحدث عندما يكون مفتاحا أساسيا. بهذه الطريقة نميز غياب الصف عن وجود صف حقيقي يحتوي على بيانات ناقصة في عمود آخر.
مثال
SELECT c.id, c.name
FROM countries AS c
LEFT JOIN astronauts AS a
ON a.country_id = c.id
WHERE a.id IS NULL;
لا نستخدم المقارنة = NULL لهذا الغرض، لأن اختبار القيم الفارغة يحتاج إلى IS NULL. كما أن اختبار مفتاح البلد نفسه لا يكشف غياب رائد الفضاء.
باختصار: احفظ صفوف الجدول المطلوب، ثم اختبر IS NULL على مفتاح غير قابل للفراغ في الطرف المرتبط.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.