Skip to content
# Class: QueryBuilder

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

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:28

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:59

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:216

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:228

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:249

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:258

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.


buildUpdateQuery()

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

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

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:300

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:333

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

Parameters

selectQuery

SimpleSelectQuery

options

MergeQueryConversionOptions

Returns

MergeQuery

Released under the MIT License.