USUŃ Z

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks oznaczone jako tak Databricks Runtime

Usuwa wiersze zgodne z predykatem. Gdy nie podano predykatu, usuwa wszystkie wiersze.

Ta instrukcja jest obsługiwana tylko w przypadku tabel usługi Delta Lake.

Składni

DELETE FROM table_name [table_alias] [WHERE predicate]

Parametry

  • Nazwa_tabeli

    Identyfikuje istniejącą tabelę. Nazwa nie może zawierać specyfikacji czasowej.

    table_name nie może być tabelą obcą.

  • table_alias

    Zdefiniuj alias dla tabeli. Alias nie może zawierać listy kolumn.

  • GDZIE

    Filtruj wiersze według predykatu.

    Predykat WHERE obsługuje podzapytania, w tym INpodzapytania , NOT IN, EXISTS, NOT EXISTSi podzapytania skalarne. Następujące typy podzapytania nie są obsługiwane:

    • Zagnieżdżone podzapytania, czyli podzapytanie wewnątrz innego podzapytania
    • NOT IN podzapytywanie wewnątrz elementu OR, na przykład a = 3 OR b NOT IN (SELECT c from t)

    W większości przypadków można ponownie napisać NOT IN podzapytania przy użyciu polecenia NOT EXISTS. Zalecamy używanie NOT EXISTS zawsze, gdy jest to możliwe, ponieważ DELETE w przypadku NOT IN podzapytania może być powolne.

Przykłady

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