SQL DML
SQL Data Manipulation Language
Judgement: Adopt
Portable transformation language across relational/lakehouse engines.
The processing side of SQL: CTEs and window functions for transformation logic, INSERT / UPDATE / DELETE / MERGE for state changes, and CREATE OR REPLACE TABLE / VIEW for materialising results. The portable way to express batch transformations against any relational or lakehouse engine.
Tools like dbt, SQLMesh, and dataform are essentially orchestrators around this surface — the transformations themselves are SQL DML.
Why it counts as a standard
ISO/IEC 9075 specifies a portable DML core — CTEs (SQL:1999), window functions (SQL:2003), and MERGE (SQL:2003) — that every serious analytical engine implements. Transformations written against this core run on Snowflake, BigQuery, Databricks, DuckDB, Postgres, and Trino with minimal change. The standard surface, not any vendor's dialect, is what makes SQL the default processing language.
At a glance
- Category
- Processing
- Governance
- ANSI / ISO/IEC 9075
- Status
- Stable since 1986; revised regularly (latest SQL:2023)
- First released
- 1986
Links
Related standards
Other standards in Processing.
- dbt — data build tool
- Pandas — pandas
- Spark — Apache Spark
- Beam — Apache Beam
- Ibis
- XSLT — Extensible Stylesheet Language Transformations
See SQL DML in context
Open the interactive Data Landscape to compare SQL DML against every other open standard, or grab the raw JSON. Spotted something wrong? Open an issue.