DELETE FROM
Van toepassing op: Databricks SQL Databricks Runtime
Hiermee verwijdert u de rijen die overeenkomen met een predicaat. Als er geen predicaat wordt opgegeven, worden alle rijen verwijderd.
Deze verklaring wordt alleen ondersteund voor Delta Lake-tabellen.
Syntaxis
DELETE FROM table_name [table_alias] [WHERE predicate]
Parameters
-
Identificeert een bestaande tabel. De naam mag geen tijdelijke specificatie bevatten.
table_name
mag geen refererende tabel zijn. -
Definieer een alias voor de tabel. De alias mag geen kolomlijst bevatten.
-
Rijen filteren op predicaat.
Het
WHERE
predicaat ondersteunt subquery's, waaronderIN
,NOT IN
,EXISTS
enNOT EXISTS
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 binnen eenOR
, bijvoorbeelda = 3 OR b NOT IN (SELECT c from t)
In de meeste gevallen kunt u subquery's opnieuw schrijven
NOT IN
met behulp vanNOT EXISTS
. We raden u aan waar mogelijk te gebruikenNOT EXISTS
, omdatDELETE
subquery'sNOT 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')