Megosztás a következőn keresztül:


TÖRLÉS INNEN:

A következőre vonatkozik:check marked yes Databricks SQL check marked yes Databricks Runtime

Törli a predikátumnak megfelelő sorokat. Ha nincs megadva predikátum, az összes sort törli.

Ez az utasítás csak Delta Lake-táblák esetében támogatott.

Szintaxis

DELETE FROM table_name [table_alias] [WHERE predicate]

Paraméterek

  • table_name

    Egy meglévő táblát azonosít. A név nem tartalmazhat időbeli specifikációt.

    table_name nem lehet idegen tábla.

  • table_alias

    Határozzon meg egy aliast a táblához. Az alias nem tartalmazhat oszloplistát.

  • AHOL

    Sorok szűrése predikátum alapján.

    A WHERE predikátum támogatja az al lekérdezéseket, beleértve a IN, NOT IN, EXISTS, NOT EXISTSés skaláris al lekérdezéseket. A következő típusú al lekérdezések nem támogatottak:

    • Beágyazott al lekérdezések, azaz egy al lekérdezés egy másik al lekérdezésben
    • NOT IN subquery a -ben OR, például: a = 3 OR b NOT IN (SELECT c from t)

    A legtöbb esetben a használatával NOT EXISTSújraírhatja NOT IN az al lekérdezéseket. Azt javasoljuk, hogy amikor csak lehetséges, használja NOT EXISTS , mivel DELETE az NOT IN albekérdezések lassúak lehetnek.

Példák

> 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')