يتحقق المعامل EXISTS مما إذا كانت نتيجة استعلام فرعي تحتوي على أي سجلات. فإذا كانت النتيجة فارغة، يعيد المعامل 0. وإلا، يعيد 1.
يمكن أيضًا استخدام EXISTS في عبارة WHERE.
لا يدعم الاستعلام الفرعي الإشارة إلى جداول الاستعلام الرئيسي وأعمدته.
البنية
مثال
استعلام يتحقق من وجود قيم ضمن استعلام فرعي:
SELECT EXISTS(SELECT * FROM numbers(10) WHERE number > 8), EXISTS(SELECT * FROM numbers(10) WHERE number > 11)
┌─in(1, _subquery1)─┬─in(1, _subquery2)─┐
│ 1 │ 0 │
└───────────────────┴───────────────────┘
استعلام يحتوي على استعلام فرعي يُرجع عدة صفوف:
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 8);
┌─count()─┐
│ 10 │
└─────────┘
استعلام يتضمن استعلامًا فرعيًا يُرجع مجموعة نتائج فارغة:
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 11);
┌─count()─┐
│ 0 │
└─────────┘