DELETE FROM

적용 대상:검사 표시됨 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

조건자와 일치하는 행을 삭제합니다. 조건자가 제공되지 않으면 모든 행을 삭제합니다.

이 문은 Delta Lake 테이블에 대해서만 지원됩니다.

구문

DELETE FROM table_name [table_alias] [WHERE predicate]

매개 변수

  • Table_name

    기존 테이블을 식별합니다. 이름에 임시 사양이 포함되어서는 안됩니다.

    table_name 는 외세 테이블이 아니어야 합니다.

  • table_alias

    테이블의 별칭을 정의합니다. 별칭에는 열 목록이 포함되어서는 안 됩니다.

  • 어디

    조건자를 기준으로 행을 필터링합니다.

    조건자는 WHERE , , NOT IN, EXISTSNOT EXISTS및 스칼라 하위 쿼리를 비롯한 IN하위 쿼리를 지원합니다. 다음 유형의 하위 쿼리는 지원되지 않습니다.

    • 중첩된 하위 쿼리, 즉 다른 하위 쿼리 내의 하위 쿼리
    • NOT IN 예를 들어 , 내의 OR하위 쿼리 a = 3 OR b NOT IN (SELECT c from t)

    대부분의 경우 를 사용하여 NOT EXISTS하위 쿼리를 다시 작성 NOT IN 할 수 있습니다. 하위 쿼리가 느릴 수 있으므로 DELETENOT IN 가능하면 언제든지 를 사용하는 NOT EXISTS 것이 좋습니다.

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