# Query builders

The chainable builder classes returned by the SDK's query methods.

Query methods on a session or transaction return a builder rather than a plain promise. Each builder exposes chainable methods for configuring the operation, and is awaited to execute it.

## Builders

- [**SelectPromise**](/docs/reference/javascript/api/queries/select-promise.md) - Configures `SELECT` queries.
- [**CreatePromise**](/docs/reference/javascript/api/queries/create-promise.md) - Configures `CREATE` operations.
- [**UpdatePromise**](/docs/reference/javascript/api/queries/update-promise.md) - Configures `UPDATE` operations.
- [**UpsertPromise**](/docs/reference/javascript/api/queries/upsert-promise.md) - Configures `UPSERT` operations (insert or replace).
- [**InsertPromise**](/docs/reference/javascript/api/queries/insert-promise.md) - Configures `INSERT` operations.
- [**DeletePromise**](/docs/reference/javascript/api/queries/delete-promise.md) - Configures `DELETE` operations.
- [**RelatePromise**](/docs/reference/javascript/api/queries/relate-promise.md) - Configures `RELATE` operations for graph relationships.
- [**Query**](/docs/reference/javascript/api/queries/query.md) - Executes raw SurrealQL, with streaming and batch processing support.
- [**LivePromise**](/docs/reference/javascript/api/queries/live-promise.md) - Manages real-time live query subscriptions.
- [**RunPromise**](/docs/reference/javascript/api/queries/run-promise.md) - Executes SurrealDB functions and SurrealML models.
- [**ApiPromise**](/docs/reference/javascript/api/queries/api-promise.md) - Executes user-defined API calls.

## See also

- [Core classes](/docs/reference/javascript/api/core.md) - The classes these builders are created from
- [Executing queries](/docs/reference/javascript/concepts/executing-queries.md) - Conceptual overview with examples
- [SurrealQL statements](/docs/reference/query-language/statements/overview.md) - The query language reference
