VERWIJDEREN UIT

Van toepassing op:controleren met ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime

Hiermee verwijdert u de rijen die overeenkomen met een predicaat. Als er geen predicaat is opgegeven, worden alle rijen verwijderd.

Deze instructie wordt alleen ondersteund voor Delta Lake-tabellen.

Syntaxis

DELETE FROM table_name [table_alias] [WHERE predicate]

Parameters

  • Table_name

    Identificeert een bestaande tabel. De naam mag geen tijdelijke specificatie bevatten.

    table_name mag geen refererende tabel zijn.

  • table_alias

    Definieer een alias voor de tabel. De alias mag geen kolomlijst bevatten.

  • WAAR

    Rijen filteren op predicaat.

    Het WHERE predicaat ondersteunt subquery's, waaronder IN, NOT IN, EXISTSNOT EXISTS, en scalaire subquery's. De volgende typen subquery's worden niet ondersteund:

    • Geneste subquery's, dat wil gezegd een subquery in een andere subquery
    • NOT IN subquery in een OR, bijvoorbeeld a = 3 OR b NOT IN (SELECT c from t)

    In de meeste gevallen kunt u subquery's herschrijven NOT IN met behulp van NOT EXISTS. We raden u aan waar mogelijk te gebruiken NOT EXISTS , omdat DELETE subquery's NOT IN traag kunnen zijn.

Voorbeelden

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