حذف من (Databricks SQL)

يحذف الصفوف التي تطابق المسند. عند عدم توفير مسند، يحذف كل الصفوف.

هذا البيان مدعوم فقط لجداول بحيرة دلتا.

بناء الجملة

DELETE FROM table_name [table_alias] [WHERE predicate]

المعلمات

  • table_name

    يحدد جدولا موجودا. يجب ألا يتضمن الاسم مواصفات زمنية.

  • table_alias

    تعريف اسم مستعار للجدول. يجب ألا يتضمن الاسم المستعار قائمة أعمدة.

  • أين

    تصفية الصفوف حسب المسند.

    WHERE يدعم المسند الاستعلامات الفرعية، بما في ذلك INالاستعلامات NOT INالفرعية EXISTS، NOT EXISTSوالعددية. الأنواع التالية من الاستعلامات الفرعية غير معتمدة:

    • الاستعلامات الفرعية المتداخلة، أي استعلام فرعي داخل استعلام فرعي آخر
    • NOT IN الاستعلام الفرعي داخل ، على ORسبيل المثال ، a = 3 OR b NOT IN (SELECT c from t)

    في معظم الحالات، يمكنك إعادة كتابة NOT IN الاستعلامات الفرعية باستخدام NOT EXISTS. نوصي باستخدام NOT EXISTS كلما كان ذلك ممكنا ، كما هو الحال DELETE مع NOT IN الاستعلامات الفرعية يمكن أن تكون بطيئة.

أمثلة

> DELETE FROM events WHERE date < '2017-01-01'

> DELETE FROM all_events
   WHERE session_time < (SELECT min(session_time) FROM good_events)

> DELETE FROM orders AS t1
   WHERE EXISTS (SELECT oid FROM returned_orders WHERE t1.oid = oid)

> DELETE FROM events
   WHERE category NOT IN (SELECT category FROM events2 WHERE date > '2001-01-01')