Syntax
- Last UpdatedFeb 07, 2023
- 2 minute read
- PI System
- PI OLEDB Enterprise 2019
- Developer
Note: Brackets ([ ]) denote optional parts of the statement, braces ({ }) with vertical bars (|) denote mutually exclusive parts.
<select_statement> ::=
<query>
[UNION [ALL] <query> [UNION … ]]
[ORDER BY <expression> [ASC | DESC] [, …]]
[OPTION (option [, …])]
<query> ::=
SELECT [ALL | DISTINCT] [TOP integer_value] <select_list>
[FROM table_source [, …]
[WHERE <condition>]
[GROUP BY <expression> [, …]]
[HAVING <condition>]
<select_list> ::=
{* |
{table_name | view_name | table_alias} .* |
<expression> [[AS] column_alias] |
column_alias = <expression>}
[, …]
<table_source> ::=
table_name [[AS] table_alias] |
view_name [[AS] table_alias] |
<select_statement> [[AS] table_alias] |
<joined_table> [[AS] table_alias]
<joined_table> ::=
<table_source> [INNER | LEFT OUTER] JOIN <table_source> ON <condition>
<table_source> { CROSS | OUTER} APPLY <table_valued_function>
<table_valued_function> ::=
table_valued_function_name ([<expression> [, …]])|
table_values_function_template_name < [<expression> [, …]]> ([<expression> [, …]])
<option> ::=
FORCE ORDER | IGNORE ERRORS | EMBED ERRORS | ALLOW EXPENSIVE
<condition> ::=
{[NOT] <predicate> | (<condition>)}
[{AND | OR} <condition>]
[, …]
<predicate> ::=
<expression> {= | > | < | >= | <= | <> | !=} [ALL | ANY | SOME] <expression> |
<expression> [NOT] IN ({<expression> [, …] | <select_statement>}) |
<expression> [NOT] BETWEEN <expression> AND <expression> |
<expression> [NOT] LIKE <expression> [ESCAPE <expression>] |
<expression> IS [NOT] NULL |
EXISTS (<select_statement>)
<expression> ::=
<expression_factor> |
<expression > {+ | - | * | / | %} <expression>
<expression_factor> ::=
integer_value | float_value | string_value |
True | False |
NULL | ? | column_name |
CAST (<expression> AS data_type_name) |
COUNT (*) |
aggr_function_name ([ALL | DISTINCT] <expression>) |
nonaggr_function_name ([<expression> [, …]]) |
[+ | -] <expression_factor> |
(<expression>) |
(IF <condition> THEN <expression> ELSE <expression>) |
NULLIF (<expression>, <expression>) |
COALESCE (<expression>, …) |
CASE <expression> WHEN <expression> THEN <expression> [WHEN …] [ELSE <expression>]
END |
CASE WHEN <condition> THEN <expression> [WHEN …] [ELSE <expression>] END |
(<select_statement>)