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]]

Properties

static array $OPTIONS Options for SELECT statements and their slot ID.
static array $CLAUSES The clauses of this statement, in order.
static array<string,int> $END_OPTIONS
OptionsArray $options The options of this query. from  Statement
int $first The index of the first token used in this statement. from  Statement
int $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[] $index_hints Index hints
ArrayObj $partition Partitions used as source for this statement.
Condition[] $where Conditions used for filtering each row of the result set.
GroupKeyword[] $group Conditions used for grouping the result set.
Condition[] $having Conditions used for filtering the result set.
OrderKeyword[] $order Specifies the order of the rows in the result set.
Limit $limit Conditions used for limiting the size of the result set.
FunctionCall $procedure Procedure that should process the data in the result set.
IntoKeyword $into Destination of this result set.
JoinKeyword[] $join Joins.
SelectStatement[] $union Unions.
OptionsArray $end_options 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.

parse(Parser $parser, TokensList $list)

Parses the statements defined by the tokens list.

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

Function called before the token is processed.

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.

Details

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

Parameters

Parser|null $parser the instance that requests parsing
TokensList|null $list the list of tokens to be parsed

string build()

Builds the string representation of this statement.

Return Value

string

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

Exceptions

ParserException

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

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

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