# Use Coordinator DB SQL deliberately

Coordinator DB SQL can create typed tables, insert rows, select and join data, calculate aggregates, use window functions and apply transactional updates or deletions. Use the statement reference for the exact supported syntax rather than assuming every extension from another SQL database is accepted.

```sql
CREATE TABLE sql_example(id INTEGER PRIMARY KEY, name TEXT NOT NULL);
INSERT INTO sql_example VALUES (1, 'Ada'), (2, 'Grace');
SELECT id, name FROM sql_example ORDER BY id FORMAT csv;
```

Declared types and constraints validate writes. A query's `ORDER BY` controls presentation order; stored row order is not a substitute. NULL values also require explicit predicates such as `IS NULL` when missing data is the target.

Some commands depend on the interface. Server connections support managed-database selection and output formats. An embedded connection opens its database directly and uses its own API for prepared bindings. HTTP requests have separate sessions, unlike a stateful native connection.

For unfamiliar behavior, reduce the case to a small schema, values, query and expected output. Inspect `EXPLAIN QUERY PLAN` when the concern is an access choice, keeping execution measurements separate from correctness checks.

See [statements](https://coordinatordb.com/docs/reference/statements), [functions](https://coordinatordb.com/docs/reference/functions), [data types](https://coordinatordb.com/docs/reference/data-types) and [deployment modes](https://coordinatordb.com/docs/get-started/about/deployment-modes).
