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


DELETE FROM

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet 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.

Syntax

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

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

  • HOL

    Sorok szűrése predikátum szerint.

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

    • Beágyazott al lekérdezések, vagyis egy alquery egy másik alqueryben
    • NOT IN subquery egy ORadott területen belül, például: a = 3 OR b NOT IN (SELECT c from t)

    A legtöbb esetben újraírhatja NOT IN az al lekérdezéseket a következő használatával NOT EXISTS: . Javasoljuk NOT EXISTS , hogy amikor csak lehetséges, használja, 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')