DELETE FROM (Azure Databricks’te Delta Lake)

Bir koşula uyan satırları siler. Hiçbir koşul sağlanmazsa, tüm satırları siler.

Syntax

DELETE FROM table_identifier [AS alias] [WHERE predicate]
  • table_identifier

    • [database_name.] table_name: Tablo adı, isteğe bağlı olarak bir veritabanı adı ile nitelenir.
    • delta.`<path-to-table>`: Varolan bir Delta tablosunun konumu.
  • AS diğer adı

    Tablo diğer adı tanımlayın.

  • WHERE

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

    Koşul,,,, WHERE IN NOT IN EXISTS NOT EXISTS ve skaler alt sorgular dahil alt sorguları destekler. Aşağıdaki alt sorgu türleri desteklenmez:

    • İç içe geçmiş alt sorgular, diğer bir deyişle, başka bir alt sorgu içindeki
    • NOT INÖrneğin içindeki alt sorgu OR````a = 3 OR b NOT IN (SELECT c from t)

    Çoğu durumda, kullanarak alt sorguları yeniden yazabilirsiniz NOT IN NOT EXISTS . Alt sorgularda olduğu NOT EXISTS gibi, mümkün olduğunda kullanmanızı öneririz DELETE NOT IN .

Örnek

DELETE FROM events WHERE date < '2017-01-01'

Alt sorgu örnekleri

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