ELIMINAR DE

Aplica-se a:verificar a verificação sim Databricks SQL marcada como sim Databricks Runtime

Elimina as linhas que correspondem a um predicado. Quando não é fornecido nenhum predicado, elimina todas as linhas.

Esta instrução só é suportada para tabelas do Delta Lake.

Sintaxe

DELETE FROM table_name [table_alias] [WHERE predicate]

Parâmetros

  • table_name

    Identifica uma tabela existente. O nome não pode incluir uma especificação temporal.

    table_name não pode ser uma tabela externa.

  • table_alias

    Defina um alias para a tabela. O alias não pode incluir uma lista de colunas.

  • WHERE

    Filtrar linhas por predicado.

    O WHERE predicado suporta subconsultas, incluindo IN, NOT IN, EXISTS, NOT EXISTSe subconsultas escalares. Os seguintes tipos de subconsultas não são suportados:

    • Subconsultas aninhadas, ou seja, uma subconsulta dentro de outra subconsulta
    • NOT IN subconsulta dentro de um OR, por exemplo, a = 3 OR b NOT IN (SELECT c from t)

    Na maioria dos casos, pode reescrever NOT IN subconsultas com NOT EXISTS. Recomendamos que utilize NOT EXISTS sempre que possível, uma vez DELETE que as NOT IN subconsultas podem ser lentas.

Exemplos

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