Skip to content
# Class: QueryBuilder

Defined in: packages/core/src/transformers/QueryBuilder.ts:24

QueryBuilder provides static methods to build or convert various SQL query objects.

Methods

buildBinaryQuery()

static buildBinaryQuery(queries, operator): BinarySelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:32

Builds a BinarySelectQuery by combining an array of SelectQuery using the specified operator. Throws if less than two queries are provided.

Parameters

queries

SelectQuery[]

Array of SelectQuery to combine

operator

string

SQL operator to use (e.g. 'union', 'union all', 'intersect', 'except')

Returns

BinarySelectQuery

BinarySelectQuery


buildSimpleQuery()

static buildSimpleQuery(query): SimpleSelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:63

Converts a SELECT query to a standard SimpleSelectQuery form.

Parameters

query

SelectQuery

The query to convert

Returns

SimpleSelectQuery

A SimpleSelectQuery


buildCreateTableQuery()

static buildCreateTableQuery(query, tableName, isTemporary, ifNotExists): CreateTableQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:220

Converts a SELECT query to a CREATE TABLE query (CREATE [TEMPORARY] TABLE ... AS SELECT ...)

Parameters

query

SelectQuery

The SELECT query to use as the source

tableName

string

The name of the table to create

isTemporary

boolean = false

If true, creates a temporary table

ifNotExists

boolean = false

Returns

CreateTableQuery

A CreateTableQuery instance


buildInsertQuery()

static buildInsertQuery(selectQuery, targetOrOptions, explicitColumns?): InsertQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:232

Converts a SELECT query to an INSERT query (INSERT INTO ... SELECT ...).

Parameters

selectQuery

SimpleSelectQuery

targetOrOptions

string | InsertQueryConversionOptions

explicitColumns?

string[]

Returns

InsertQuery


convertInsertValuesToSelect()

static convertInsertValuesToSelect(insertQuery): InsertQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:250

Converts an INSERT ... VALUES query into INSERT ... SELECT form using UNION ALL.

Parameters

insertQuery

InsertQuery

The VALUES-based InsertQuery to convert.

Returns

InsertQuery

A new InsertQuery that selects rows instead of using VALUES.


convertInsertSelectToValues()

static convertInsertSelectToValues(insertQuery): InsertQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:259

Converts an INSERT ... SELECT (optionally with UNION ALL) into INSERT ... VALUES form.

Parameters

insertQuery

InsertQuery

The SELECT-based InsertQuery to convert.

Returns

InsertQuery

A new InsertQuery that uses VALUES tuples.


convertInsertToReturningSelect()

static convertInsertToReturningSelect(insertQuery, options?): SimpleSelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:266

Builds a SELECT query that reflects the INSERT's RETURNING output (or count when RETURNING is absent).

Parameters

insertQuery

InsertQuery

options?

InsertResultSelectOptions

Returns

SimpleSelectQuery


convertUpdateToReturningSelect()

static convertUpdateToReturningSelect(updateQuery, options?): SimpleSelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:273

Parameters

updateQuery

UpdateQuery

options?

UpdateResultSelectOptions

Returns

SimpleSelectQuery


convertDeleteToReturningSelect()

static convertDeleteToReturningSelect(deleteQuery, options?): SimpleSelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:280

Parameters

deleteQuery

DeleteQuery

options?

DeleteResultSelectOptions

Returns

SimpleSelectQuery


convertMergeToReturningSelect()

static convertMergeToReturningSelect(mergeQuery, options?): SimpleSelectQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:287

Parameters

mergeQuery

MergeQuery

options?

MergeResultSelectOptions

Returns

SimpleSelectQuery


buildUpdateQuery()

static buildUpdateQuery(selectQuery, selectSourceOrOptions, updateTableExprRaw?, primaryKeys?): UpdateQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:297

Builds an UPDATE query from a SELECT query and conversion options.

Parameters

selectQuery

SimpleSelectQuery

selectSourceOrOptions

string | UpdateQueryConversionOptions

updateTableExprRaw?

string

primaryKeys?

string | string[]

Returns

UpdateQuery


buildDeleteQuery()

static buildDeleteQuery(selectQuery, options): DeleteQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:332

Builds a DELETE query that deletes the rows matched by the SELECT query output.

Parameters

selectQuery

SimpleSelectQuery

options

DeleteQueryConversionOptions

Returns

DeleteQuery


buildMergeQuery()

static buildMergeQuery(selectQuery, options): MergeQuery

Defined in: packages/core/src/transformers/QueryBuilder.ts:365

Builds a MERGE query (upsert) that coordinates actions based on row matches.

Parameters

selectQuery

SimpleSelectQuery

options

MergeQueryConversionOptions

Returns

MergeQuery

Released under the MIT License.