شرح صفوف ومحتوى الفقرة
عندما تحتاج فقط إلى التحقق من وجود سجل مرتبط واحد على الأقل في جدول آخر دون الحاجة لجلب أعمدته، استخدم المعامل المنطقي EXISTS (subquery):
- التوقف المبكر السريع (Short-Circuit): بمجرد عثور محرك InnoDB على أول صف مطابق في الجدول الداخلي، يرجع المعامل
EXISTSالقيمةTRUEفوراً ويتوقف عن فحص بقية الصفوف المطابقة لذلك المفتاح. - اصطلاح
SELECT 1: لأنEXISTSلا ينظر إلى قيم الأعمدة المختارة بل يفحص وجود الصف فقط، يَكتفي المطورون بكتابةSELECT 1داخل الاستعلام الفرعي.
SQL
-- Find customers who have placed at least one paid order
SELECT
u.user_id,
u.full_name,
u.email
FROM users AS u
WHERE EXISTS (
SELECT 1
FROM orders AS o
WHERE o.user_id = u.user_id
AND o.status = 'paid'
);