@@ -36,7 +36,7 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
3636
3737## Syntax
3838
39- ``` syntaxsql
39+ ```
4040-- Syntax for SQL Server and Azure SQL Database
4141
4242[ WITH <common_table_expression> [ ,...n ] ]
@@ -73,8 +73,27 @@ DELETE
7373}
7474```
7575
76- ``` syntaxsql
77- -- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse
76+ ```
77+ -- Syntax for Azure Synapse Analytics (formerly SQL DW)
78+ [ WITH <common_table_expression> [ ,...n ] ]
79+ DELETE [database_name . [ schema ] . | schema. ] table_name
80+ FROM [database_name . [ schema ] . | schema. ] table_name
81+ JOIN {<join_table_source>}[ ,...n ]
82+ ON <join_condition>
83+ [ WHERE <search_condition> ]
84+ [ OPTION ( <query_options> [ ,...n ] ) ]
85+ [; ]
86+
87+ <join_table_source> ::=
88+ {
89+ [ database_name . [ schema_name ] . | schema_name . ] table_or_view_name [ AS ] table_or_view_alias
90+ [ <tablesample_clause>]
91+ | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]
92+ }
93+ ```
94+
95+ ```
96+ -- Syntax for Parallel Data Warehouse
7897
7998DELETE
8099 [ FROM [database_name . [ schema ] . | schema. ] table_name ]
@@ -475,6 +494,40 @@ DELETE tableA WHERE EXISTS (
475494SELECT TOP 1 1 FROM tableB tb WHERE tb.col1 = tableA.col1
476495)
477496```
497+
498+ ### P. Delete based on the result of joining with another table
499+ This example shows how to delete from a table based on the result of joining wiht another table.
500+ ```
501+ CREATE TABLE dbo.Table1
502+ (ColA int NOT NULL, ColB decimal(10,3) NOT NULL);
503+ GO
504+
505+ CREATE TABLE dbo.Table2
506+ (ColA int PRIMARY KEY NOT NULL, ColB decimal(10,3) NOT NULL);
507+ GO
508+ INSERT INTO dbo.Table1 VALUES(1, 10.0), (1, 20.0);
509+ INSERT INTO dbo.Table2 VALUES(1, 0.0);
510+ GO
511+
512+ UPDATE dbo.Table2
513+ SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
514+ FROM dbo.Table2
515+ INNER JOIN dbo.Table1
516+ ON (dbo.Table2.ColA = dbo.Table1.ColA);
517+ GO
518+
519+ SELECT ColA, ColB
520+ FROM dbo.Table2;
521+ GO
522+
523+ DELETE dbo.Table2
524+ FROM dbo.Table2
525+ INNER JOIN dbo.Table1
526+ ON (dbo.Table2.ColA = dbo.Table1.ColA)
527+ WHERE dboTable2.ColA = 1;
528+
529+ ```
530+ ```
478531
479532## See Also
480533 [CREATE TRIGGER (Transact-SQL)](../../t-sql/statements/create-trigger-transact-sql.md)
0 commit comments