Sİl
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
Koşulla eşleşen satırları siler. Koşul sağlanmazsa tüm satırları siler.
Bu deyim yalnızca Delta Lake tabloları için desteklenir.
Sözdizimi
DELETE FROM table_name [table_alias] [WHERE predicate]
Parametre
-
Var olan bir tabloyu tanımlar. Ad bir geçici belirtim içermemelidir.
table_name
yabancı tablo olmamalıdır. -
Tablo için bir diğer ad tanımlayın. Diğer ad sütun listesi içermemelidir.
-
Satırları koşula göre filtreleyin.
Koşul
WHERE
, , ,NOT IN
,EXISTS
NOT EXISTS
ve skaler alt sorgular dahil olmak üzereIN
alt sorguları destekler. Aşağıdaki alt sorgu türleri desteklenmez:- İç içe alt sorgular, diğer bir ifadeyle başka bir alt sorgu içindeki bir alt sorgu
NOT IN
bir içindekiOR
alt sorgu, örneğin,a = 3 OR b NOT IN (SELECT c from t)
Çoğu durumda, kullanarak
NOT EXISTS
alt sorguları yenidenNOT IN
yazabilirsiniz. Alt sorgular yavaş olabileceği gibiDELETE
NOT IN
mümkün olduğunca kullanmanızıNOT EXISTS
öneririz.
Örnekler
> 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')