Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
[ common_table_expression ]
DELETE FROM table_name [table_alias] [WHERE predicate]
Parameterwaarden
-
Veelgebruikte tabelexpressies (CTE) zijn een of meer benoemde query's die meerdere keren in het hoofdqueryblok kunnen worden gebruikt om herhaalde berekeningen te voorkomen of om de leesbaarheid van complexe geneste query's te verbeteren.
-
Identificeert een bestaande tabel. De naam mag geen tijdelijke specificatie bevatten.
table_namemag geen refererende tabel zijn. -
Definieer een alias voor de tabel. De alias mag geen kolomlijst bevatten.
-
Rijen filteren op predicaat.
Het
WHEREpredicaat ondersteunt subquery's, waaronderIN,NOT IN,EXISTSenNOT EXISTSscalaire subquery's. De volgende typen subquery's worden niet ondersteund:- Geneste subquery's, dat wil gezegd, een subquery in een andere subquery
-
NOT INsubquery binnen eenOR, bijvoorbeelda = 3 OR b NOT IN (SELECT c from t)
In de meeste gevallen kunt u subquery's opnieuw schrijven
NOT INmet behulp vanNOT EXISTS. We raden u aan waar mogelijk te gebruikenNOT EXISTS, omdatDELETEsubquery'sNOT INtraag 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')