doc/user/content/sql/delete.md
DELETE removes values stored in user-created tables.
DELETE FROM <table_name> [AS <alias>]
[USING <from_item> [, ...]]
[WHERE <condition>]
;
| Syntax element | Description |
|---|---|
<table_name> | The table whose values you want to remove. |
AS <alias> | Optional. The alias for the table. If specified, only permit references to <table_name> as <alias>. |
| USING from_item | Optional. Table expressions whose columns you want to reference in the WHERE clause. This supports the same syntax as the FROM clause in SELECT statements, e.g. supporting aliases. |
WHERE <condition> | Optional. Only remove rows which evaluate to true for condition. |
DELETE cannot be used inside transactions.DELETE can reference read-write tables but not
sources or read-only tables.DELETE statement, Materialize cannot
process other INSERT, UPDATE, or DELETE statements.CREATE TABLE delete_me (a int, b text);
INSERT INTO delete_me
VALUES
(1, 'hello'),
(2, 'goodbye'),
(3, 'ok');
DELETE FROM delete_me WHERE b = 'hello';
SELECT * FROM delete_me ORDER BY a;
a | b
---+---------
2 | goodbye
3 | ok
CREATE TABLE delete_using (b text);
INSERT INTO delete_using VALUES ('goodbye'), ('ciao');
DELETE FROM delete_me
USING delete_using
WHERE delete_me.b = delete_using.b;
SELECT * FROM delete_me;
a | b
---+----
3 | ok
DELETE FROM delete_me;
SELECT * FROM delete_me;
a | b
---+---
The privileges required to execute this statement are:
{{% include-headless "/headless/sql-command-privileges/delete" %}}