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)

No description

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