DELETE FROM

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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

[ common_table_expression ]
    DELETE FROM table_name [table_alias] [WHERE predicate]

Parametreler

  • ortak tablo ifadesi

    Yaygın tablo ifadeleri (CTE), yinelenen hesaplamaları önlemek veya karmaşık, iç içe sorguların okunabilirliğini geliştirmek için ana sorgu bloğu içinde birden çok kez yeniden kullanılabilen bir veya daha fazla adlandırılmış sorgudur.

  • table_name

    Mevcut bir tabloyu tanımlar. Ad bir zamansal belirtim içermemelidir.

    table_name yabancı tablo olmamalıdır.

  • table_alias

    Tablo için bir diğer ad tanımlayın. Diğer ad bir sütun listesi içermemelidir.

  • WHERE

    Satırları koşula göre filtreleyin.

    KoşulWHERE, , , INNOT INEXISTS, ve skaler alt sorgular dahil olmak üzere NOT EXISTSalt sorguları destekler. Aşağıdaki alt sorgu türleri desteklenmez:

    • İç içe alt sorgular, yani başka bir alt sorgu içindeki bir alt sorgu
    • NOT IN bir içindeki ORalt sorgu, örneğin, a = 3 OR b NOT IN (SELECT c from t)

    Çoğu durumda, kullanarak NOT INalt sorguları yeniden NOT EXISTS yazabilirsiniz. Alt sorgular yavaş olabileceği gibi NOT EXISTSDELETE mümkün olduğunca kullanmanızı NOT IN ö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')