class SelectStatement extends Statement (View source)

SELECT statement.

SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [MAX_STATEMENT_TIME = N] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [PARTITION partition_list] [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]]

Constants

protected ADD_CLAUSE

protected ADD_KEYWORD

protected STATEMENT_GROUP_OPTIONS

protected STATEMENT_END_OPTIONS

Properties

static array<string,int|array<int,int|string>> $statementOptions

Options for SELECT statements and their slot ID.

static array $clauses

The clauses of this statement, in order.

OptionsArray|null $options

The options of this query.

from  Statement
int|null $first

The index of the first token used in this statement.

from  Statement
int|null $last

The index of the last token used in this statement.

from  Statement
Expression[] $expr

Expressions that are being selected by this statement.

Expression[] $from

Tables used as sources for this statement.

IndexHint[]|null $indexHints

Index hints

ArrayObj|null $partition

Partitions used as source for this statement.

Condition[]|null $where

Conditions used for filtering each row of the result set.

GroupKeyword[]|null $group

Conditions used for grouping the result set.

OptionsArray|null $groupOptions

List of options available for the GROUP BY component.

Condition[]|null $having

Conditions used for filtering the result set.

OrderKeyword[]|null $order

Specifies the order of the rows in the result set.

Limit|null $limit

Conditions used for limiting the size of the result set.

FunctionCall|null $procedure

Procedure that should process the data in the result set.

IntoKeyword|null $into

Destination of this result set.

JoinKeyword[]|null $join Joins.
SelectStatement[] $union Unions.
OptionsArray|null $endOptions

The end options of this query.

Methods

__construct(Parser|null $parser = null, TokensList|null $list = null)

No description

string
build()

Builds the string representation of this statement.

void
parse(Parser $parser, TokensList $list)

Parses the statements defined by the tokens list.

void
before(Parser $parser, TokensList $list, Token $token)

Function called before the token is processed.

void
after(Parser $parser, TokensList $list, Token $token)

Function called after the token was processed.

array
getClauses()

Gets the clauses of this statement.

string
__toString()

Builds the string representation of this statement.

bool
validateClauseOrder(Parser $parser, TokensList $list)

Validates the order of the clauses in parsed statement Ideally this should be called after successfully completing the parsing of each statement.

array
getAliases(string $database)

Gets a list of all aliases and their original names.

Details

__construct(Parser|null $parser = null, TokensList|null $list = null)

No description

Parameters

Parser|null $parser

the instance that requests parsing

TokensList|null $list

the list of tokens to be parsed

Exceptions

ParserException

string build()

Builds the string representation of this statement.

Return Value

string

void parse(Parser $parser, TokensList $list)

Parses the statements defined by the tokens list.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Return Value

void

Exceptions

ParserException

void before(Parser $parser, TokensList $list, Token $token)

Function called before the token is processed.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Token $token

the token that is being parsed

Return Value

void

void after(Parser $parser, TokensList $list, Token $token)

Function called after the token was processed.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Token $token

the token that is being parsed

Return Value

void

array getClauses()

Gets the clauses of this statement.

Return Value

array

string __toString()

Builds the string representation of this statement.

Return Value

string

See also

static::build

bool validateClauseOrder(Parser $parser, TokensList $list)

Validates the order of the clauses in parsed statement Ideally this should be called after successfully completing the parsing of each statement.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Return Value

bool

Exceptions

ParserException

array getAliases(string $database)

Gets a list of all aliases and their original names.

Parameters

string $database

the name of the database

Return Value

array