حذف من

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

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

هذه العبارة معتمدة فقط لجداول Delta Lake.

بناء الجملة

DELETE FROM table_name [table_alias] [WHERE predicate]

المعلمات

  • table_name

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

    table_name يجب ألا تكون طاولة خارجية.

  • table_alias

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

  • WHERE

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

    WHERE تدعم دالة التقييم الاستعلامات الفرعية، بما في ذلك EXISTSINNOT INNOT 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')