Skip to main content
DynamoSQL implements a substantial subset of ANSI SQL targeting DynamoDB and CSV backends. The engine is read-only — it supports SELECT queries only. There is no INSERT, UPDATE, DELETE, or DDL.

Supported Feature Categories

CategoryReference
SELECT, column aliases, DISTINCT, ORDER BY, LIMITSELECT
Single tables, JOINs, derived tables, CTEs as sourcesFROM and JOINs
Comparisons, BETWEEN, IN, EXISTS, LIKE, IS NULLWHERE Predicates
GROUP BY, HAVING, aggregate functionsGrouping and Aggregation
WITH clauses, scalar subqueries, correlated subqueriesSubqueries and CTEs
UNION and UNION ALLSet Operations
Arithmetic, bitwise, string, CASE, COALESCEExpressions and Operators
ABS, CONCAT, SUBSTRING, IF, UUID, aggregatesFunctions
Unsupported features — including window functions, INSERT/UPDATE/DELETE, recursive CTEs, and date/time functions — are listed on the Limitations page.

Quick Example

WITH recent_orders AS (
  SELECT
    o.customer_id,
    o.total,
    o.status,
    c.name AS customer_name
  FROM myschema.orders AS o
  INNER JOIN myschema.customers AS c ON o.customer_id = c.id
  WHERE o.status = 'shipped'
)
SELECT
  customer_name,
  COUNT(*) AS order_count,
  SUM(total) AS total_spent
FROM recent_orders
GROUP BY customer_name
HAVING SUM(total) > 500
ORDER BY total_spent
LIMIT 20
This query demonstrates a CTE, an INNER JOIN, WHERE filtering, GROUP BY with an aggregate, HAVING, ORDER BY, and LIMIT — all supported today.