Does DynamoDB support SQL?
Partly. DynamoDB supports PartiQL, a SQL-compatible query language for SELECT, INSERT, UPDATE, and DELETE statements. It is not full SQL: there are no JOINs, no GROUP BY, and no arbitrary aggregations, and efficient queries still require targeting the primary key or an index. PartiQL is SQL-flavored access, not a relational engine.
What PartiQL gives you
A familiar SQL syntax for the four data operations. You can write SELECT * FROM "Orders" WHERE ... instead of constructing low-level API calls, which is convenient and readable.
What it does not give you
- No JOINs — DynamoDB is nonrelational; you denormalize instead.
- No GROUP BY / aggregates — grouping and summing happen in your application.
- No free-form scans for cheap — a
SELECTwithout a key condition still runs a Scan and costs accordingly.
The mental model
Think of PartiQL as a syntax layer over DynamoDB's existing Query, Scan, and write operations — the same access-pattern rules apply underneath.
Go deeper
Compare the two in PartiQL vs SQL, see PartiQL examples, and read SQL for DynamoDB. Download DynoTable to write PartiQL directly.