ODSTRANIT Z

Platí pro:zaškrtnutá možnost Ano , kontrola Databricks SQL označená ano Databricks Runtime

Odstraní řádky, které odpovídají predikátu. Pokud není zadaný žádný predikát, odstraní všechny řádky.

Tento příkaz se podporuje pouze pro tabulky Delta Lake.

Syntaxe

DELETE FROM table_name [table_alias] [WHERE predicate]

Parametry

  • Table_name

    Identifikuje existující tabulku. Název nesmí obsahovat dočasnou specifikaci.

    table_name nesmí být cizí tabulka.

  • table_alias

    Definujte alias pro tabulku. Alias nesmí obsahovat seznam sloupců.

  • KDE

    Filtrovat řádky podle predikátu.

    Predikát WHERE podporuje poddotazy, včetně INpoddotazů , NOT INEXISTS, NOT EXISTSa skalárních poddotazů. Následující typy poddotazů nejsou podporovány:

    • Vnořené poddotazy, to znamená poddotaz uvnitř jiného poddotaz
    • NOT IN poddotaz uvnitř , ORnapříklad a = 3 OR b NOT IN (SELECT c from t)

    Ve většině případů můžete poddotazy přepsat NOT IN pomocí NOT EXISTS. Pokud je to možné, doporučujeme použít NOT EXISTS poddotaz, protože DELETE poddotazy NOT IN můžou být pomalé.

Příklady

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