Supported SQL Syntax¶
The EBNF and Railroad Diagrams for the supported SQL Syntax.
CompilationUnit¶
::= direct_SQL_statement* EOF |
Not referenced by any.
|
non_reserved_word¶
::= 'A'
| 'ABSOLUTE'
| 'ACTION'
| 'ADA'
| 'ADD'
| 'ADMIN'
| 'AFTER'
| 'ALWAYS'
| 'ASC'
| 'ASSERTION'
| 'ASSIGNMENT'
| 'ATTRIBUTE'
| 'ATTRIBUTES'
| 'BEFORE'
| 'BERNOULLI'
| 'BREADTH'
| 'C'
| 'CASCADE'
| 'CATALOG'
| 'CATALOG_NAME'
| 'CHAIN'
| 'CHARACTER_SET_CATALOG'
| 'CHARACTER_SET_NAME'
| 'CHARACTER_SET_SCHEMA'
| 'CHARACTERISTICS'
| 'CHARACTERS'
| 'CLASS_ORIGIN'
| 'COBOL'
| 'COLLATION'
| 'COLLATION_CATALOG'
| 'COLLATION_NAME'
| 'COLLATION_SCHEMA'
| 'COLUMN_NAME'
| 'COMMAND_FUNCTION'
| 'COMMAND_FUNCTION_CODE'
| 'COMMITTED'
| 'CONDITION_NUMBER'
| 'CONNECTION'
| 'CONNECTION_NAME'
| 'CONSTRAINT_CATALOG'
| 'CONSTRAINT_NAME'
| 'CONSTRAINT_SCHEMA'
| 'CONSTRAINTS'
| 'CONSTRUCTOR'
| 'CONTAINS'
| 'CONTINUE'
| 'CURSOR_NAME'
| 'DATA'
| 'DATETIME_INTERVAL_CODE'
| 'DATETIME_INTERVAL_PRECISION'
| 'DEFAULTS'
| 'DEFERRABLE'
| 'DEFERRED'
| 'DEFINED'
| 'DEFINER'
| 'DEGREE'
| 'DEPTH'
| 'DERIVED'
| 'DESC'
| 'DESCRIPTOR'
| 'DIAGNOSTICS'
| 'DISPATCH'
| 'DOMAIN'
| 'DYNAMIC_FUNCTION'
| 'DYNAMIC_FUNCTION_CODE'
| 'ENFORCED'
| 'EQUALS'
| 'EXCLUDE'
| 'EXCLUDING'
| 'EXPRESSION'
| 'FINAL'
| 'FIRST'
| 'FLAG'
| 'FOLLOWING'
| 'FORTRAN'
| 'FOUND'
| 'G'
| 'GENERAL'
| 'GENERATED'
| 'GO'
| 'GOTO'
| 'GRANTED'
| 'HIERARCHY'
| 'IF'
| 'IGNORE'
| 'IMMEDIATE'
| 'IMPLEMENTATION'
| 'INCLUDING'
| 'INCREMENT'
| 'INITIALLY'
| 'INPUT'
| 'INSTANCE'
| 'INSTANTIABLE'
| 'INSTEAD'
| 'INVOKER'
| 'ISOLATION'
| 'K'
| 'KEY'
| 'KEY_MEMBER'
| 'KEY_TYPE'
| 'LAST'
| 'LENGTH'
| 'LEVEL'
| 'LOCATOR'
| 'M'
| 'MAP'
| 'MATCHED'
| 'MAXVALUE'
| 'MESSAGE_LENGTH'
| 'MESSAGE_OCTET_LENGTH'
| 'MESSAGE_TEXT'
| 'MINVALUE'
| 'MORE'
| 'MUMPS'
| 'NAMES'
| 'NESTING'
| 'NEXT'
| 'NFC'
| 'NFD'
| 'NFKC'
| 'NFKD'
| 'NORMALIZED'
| 'NULLABLE'
| 'NULLS'
| 'NUMBER'
| 'OBJECT'
| 'OCTETS'
| 'OPTION'
| 'OPTIONS'
| 'ORDERING'
| 'ORDINALITY'
| 'OTHERS'
| 'OUTPUT'
| 'OVERRIDING'
| 'P'
| 'PAD'
| 'PARAMETER_MODE'
| 'PARAMETER_NAME'
| 'PARAMETER_ORDINAL_POSITION'
| 'PARAMETER_SPECIFIC_CATALOG'
| 'PARAMETER_SPECIFIC_NAME'
| 'PARAMETER_SPECIFIC_SCHEMA'
| 'PARTIAL'
| 'PASCAL'
| 'PATH'
| 'PLACING'
| 'PLI'
| 'PRECEDING'
| 'PRESERVE'
| 'PRIOR'
| 'PRIVILEGES'
| 'PROPERTIES'
| 'PUBLIC'
| 'READ'
| 'RELATIVE'
| 'REPEATABLE'
| 'RESPECT'
| 'RESTART'
| 'RESTRICT'
| 'RETURNED_CARDINALITY'
| 'RETURNED_LENGTH'
| 'RETURNED_OCTET_LENGTH'
| 'RETURNED_SQLSTATE'
| 'ROLE'
| 'ROUTINE'
| 'ROUTINE_CATALOG'
| 'ROUTINE_NAME'
| 'ROUTINE_SCHEMA'
| 'ROW_COUNT'
| 'SCALE'
| 'SCHEMA'
| 'SCHEMA_NAME'
| 'SCOPE_CATALOG'
| 'SCOPE_NAME'
| 'SCOPE_SCHEMA'
| 'SECTION'
| 'SECURITY'
| 'SELF'
| 'SEQUENCE'
| 'SERIALIZABLE'
| 'SERVER_NAME'
| 'SESSION'
| 'SETS'
| 'SIMPLE'
| 'SIZE'
| 'SOURCE'
| 'SPACE'
| 'SPECIFIC_NAME'
| 'STATE'
| 'STATEMENT'
| 'STRUCTURE'
| 'STYLE'
| 'SUBCLASS_ORIGIN'
| 'T'
| 'TABLE_NAME'
| 'TEMPORARY'
| 'TIES'
| 'TOP_LEVEL_COUNT'
| 'TRANSACTION'
| 'TRANSACTION_ACTIVE'
| 'TRANSACTIONS_COMMITTED'
| 'TRANSACTIONS_ROLLED_BACK'
| 'TRANSFORM'
| 'TRANSFORMS'
| 'TRIGGER_CATALOG'
| 'TRIGGER_NAME'
| 'TRIGGER_SCHEMA'
| 'TRY_CAST'
| 'TYPE'
| 'UNBOUNDED'
| 'UNCOMMITTED'
| 'UNDER'
| 'UNNAMED'
| 'USAGE'
| 'USER_DEFINED_TYPE_CATALOG'
| 'USER_DEFINED_TYPE_CODE'
| 'USER_DEFINED_TYPE_NAME'
| 'USER_DEFINED_TYPE_SCHEMA'
| 'VIEW'
| 'WORK'
| 'WRITE'
| 'ZONE'
| 'ABS'
| 'ALL'
| 'ARRAY_AGG'
| 'AT'
| 'AVG'
| 'BLOB'
| 'BOTH'
| 'CARDINALITY'
| 'CLOSE'
| 'COLUMN'
| 'CONDITION'
| 'COUNT'
| 'CUBE'
| 'CURRENT'
| 'CURRENT_CATALOG'
| 'CURRENT_DATE'
| 'CURRENT_DEFAULT_TRANSFORM_GROUP'
| 'CURRENT_PATH'
| 'CURRENT_ROLE'
| 'CURRENT_SCHEMA'
| 'CURRENT_TIME'
| 'CURRENT_TIMESTAMP'
| 'CURRENT_TRANSFORM_GROUP_FOR_TYPE'
| 'CURRENT_USER'
| 'CURSOR'
| 'CYCLE'
| 'DATE'
| 'DAY'
| 'DAYS'
| 'DEC'
| 'DYNAMIC'
| 'EXP'
| 'EXTERNAL'
| 'FILTER'
| 'FLOOR'
| 'FREE'
| 'FUNCTION'
| 'GLOBAL'
| 'HOLD'
| 'HOUR'
| 'HOURS'
| 'IDENTITY'
| 'INDICATOR'
| 'INTERSECTION'
| 'INTERVAL'
| 'LANGUAGE'
| 'LEAD'
| 'LOCAL'
| 'LOWER'
| 'MAX'
| 'MERGE'
| 'METHOD'
| 'MIN'
| 'MINUTE'
| 'MINUTES'
| 'MOD'
| 'MODULE'
| 'MONTH'
| 'MONTHS'
| 'NAME'
| 'NEW'
| 'NONE'
| 'OCCURRENCE'
| 'OFFSET'
| 'OLD'
| 'OPEN'
| 'PARTITION'
| 'POSITION'
| 'POWER'
| 'PRECISION'
| 'RANGE'
| 'RANK'
| 'READS'
| 'REF'
| 'REFERENCES'
| 'RELEASE'
| 'RESULT'
| 'RETURNS'
| 'ROLLUP'
| 'ROW'
| 'ROW_NUMBER'
| 'ROWS'
| 'SAVEPOINT'
| 'SCOPE'
| 'SEARCH'
| 'SECOND'
| 'SECONDS'
| 'SESSION_USER'
| 'SQL'
| 'START'
| 'STATIC'
| 'SUM'
| 'SYSTEM'
| 'TIME'
| 'TIMESTAMP'
| 'TIMEZONE_HOUR'
| 'TIMEZONE_MINUTE'
| 'TRIGGER'
| 'TRUNCATE'
| 'UNKNOWN'
| 'UPDATE'
| 'UPPER'
| 'USER'
| 'VALUE'
| 'VALUES'
| 'VERSION'
| 'VERSIONS'
| 'WINDOW'
| 'YEAR'
| 'YEARS'
| 'COMMENT'
| 'DEFAULT'
| 'USE'
| 'LIMIT'
| 'NUMERIC_HISTOGRAM'
| 'REPLACE'
| 'HISTOGRAM'
| 'APPROEX_PERCENTILE'
| 'MAP_AGG'
| 'SET_AGG'
| 'MAP_UNION'
| '"COUNT"' |
Referenced by:
|
left_bracket_or_trigraph¶
::= '['
| '??(' |
right_bracket_or_trigraph¶
::= ']'
| '??)' |
literal¶
Referenced by:
|
signed_numeric_literal¶
::= ( '+' | '-' )? unsigned_numeric_literal |
unsigned_literal¶
Referenced by:
|
unsigned_numeric_literal¶
Referenced by:
|
exact_numeric_literal¶
::= unsigned_integer
|
Referenced by:
|
general_literal¶
Referenced by:
|
character_string_literal¶
::= ( '_' character_set_specification )? quoted_string+ |
Unicode_character_string_literal¶
::= ( '_' character_set_specification )? unicode_literal |
Referenced by:
|
datetime_literal¶
::= date_literal
|
Referenced by:
|
date_literal¶
::= 'DATE' character_string_literal |
Referenced by:
|
time_literal¶
::= 'TIME' character_string_literal |
Referenced by:
|
timestamp_literal¶
::= 'TIMESTAMP' character_string_literal |
Referenced by:
|
interval_literal¶
::= 'INTERVAL' ( '+' | '-' )? character_string_literal interval_qualifier |
Referenced by:
|
boolean_literal¶
::= 'TRUE'
| 'FALSE'
| 'UNKNOWN' |
Referenced by:
|
identifier¶
actual_identifier¶
table_name¶
::= identifier_chain |
schema_name¶
::= identifier_chain |
catalog_name¶
::= identifier |
Not referenced by any.
|
schema_qualified_name¶
local_or_schema_qualified_name¶
::= identifier_chain |
Not referenced by any.
|
local_or_schema_qualifier¶
::= 'MODULE'
|
Not referenced by any.
|
cursor_name¶
::= identifier_chain |
host_parameter_name¶
::= ':' identifier |
external_routine_name¶
::= identifier
|
Referenced by:
|
character_set_name¶
::= ( schema_name '.' )? SQL_language_identifier |
schema_resolved_user_defined_type_name¶
user_defined_type_name¶
::= identifier_chain |
SQL_identifier¶
::= identifier
|
extended_identifier¶
Referenced by:
|
dynamic_cursor_name¶
::= cursor_name
|
extended_cursor_name¶
Referenced by:
|
descriptor_name¶
::= identifier
|
extended_descriptor_name¶
Referenced by:
|
scope_option¶
::= 'GLOBAL'
| 'LOCAL' |
data_type¶
predefined_type¶
::= ( character_string_type ( 'CHARACTER' 'SET' character_set_specification )? | national_character_string_type ) collate_clause?
| 'BOOLEAN'
|
character_string_type¶
::= ( 'CHARACTER' | 'CHAR' ) ( 'VARYING'? '(' character_length ')' )?
| 'VARCHAR' ( '(' character_length ')' )?
|
Referenced by:
|
character_large_object_type¶
::= ( ( 'CHARACTER' | 'CHAR' ) 'LARGE' 'OBJECT' | 'CLOB' ) ( '(' character_large_object_length ')' )? |
Referenced by:
|
national_character_string_type¶
::= ( 'NATIONAL' ( 'CHARACTER' | 'CHAR' ) | 'NCHAR' ) ( 'VARYING'? '(' character_length ')' )?
|
Referenced by:
|
national_character_large_object_type¶
::= ( ( 'NATIONAL' 'CHARACTER' | 'NCHAR' ) 'LARGE' 'OBJECT' | 'NCLOB' ) (
'(' character_large_object_length ')' )? |
Referenced by:
|
binary_string_type¶
::= 'BINARY' ( 'VARYING'? '(' unsigned_integer ')' )?
| 'VARBINARY' ( '(' unsigned_integer ')' )?
|
Referenced by:
|
binary_large_object_string_type¶
::= ( 'BINARY' 'LARGE' 'OBJECT' | 'BLOB' ) ( '(' large_object_length ')' )? |
Referenced by:
|
numeric_type¶
Referenced by:
|
exact_numeric_type¶
::= ( 'NUMERIC' | 'DECIMAL' | 'DEC' ) ( '(' unsigned_integer ( ',' unsigned_integer )? ')' )?
| 'SMALLINT'
| 'INTEGER'
| 'INT'
| 'BIGINT' |
Referenced by:
|
approximate_numeric_type¶
::= 'FLOAT' ( '(' unsigned_integer ')' )?
| 'REAL'
| 'DOUBLE' 'PRECISION'? |
Referenced by:
|
character_length¶
large_object_length¶
Referenced by:
|
character_large_object_length¶
char_length_units¶
::= 'CHARACTERS'
| 'OCTETS' |
datetime_type¶
::= 'DATE'
| ( 'TIME' | 'TIMESTAMP' ) ( '(' unsigned_integer ')' )? with_or_without_time_zone? |
Referenced by:
|
with_or_without_time_zone¶
::= ( 'WITH' | 'WITHOUT' ) 'TIME' 'ZONE' |
Referenced by:
|
interval_type¶
::= 'INTERVAL' interval_qualifier |
Referenced by:
|
row_type¶
row_type ::= 'ROW' row_type_body |
Referenced by:
|
row_type_body¶
::= '(' field_definition ( ',' field_definition )* ')' |
Referenced by:
|
reference_type¶
::= 'REF' '(' referenced_type ')' scope_clause? |
Referenced by:
|
scope_clause¶
::= 'SCOPE' table_name |
referenced_type¶
Referenced by:
|
path_resolved_user_defined_type_name¶
Referenced by:
|
collection_type¶
::= array_type
| 'MULTISET' |
Referenced by:
|
array_type¶
Referenced by:
|
field_definition¶
::= identifier data_type |
Referenced by:
|
value_expression_primary¶
parenthesized_value_expression¶
Referenced by:
|
nonparenthesized_value_expression_primary¶
primary_suffix¶
::= field_reference
|
collection_value_constructor¶
Referenced by:
|
value_specification¶
::= literal
|
unsigned_value_specification¶
::= unsigned_literal
|
Referenced by:
|
general_value_specification¶
::= identifier_chain
| 'CURRENT_USER'
| 'USER'
| '?'
| 'SESSION_USER'
| 'SYSTEM_USER'
| 'CURRENT_CATALOG'
| 'CURRENT_PATH'
| 'CURRENT_ROLE'
| 'CURRENT_SCHEMA'
| 'VALUE'
| 'CURRENT_DEFAULT_TRANSFORM_GROUP'
| 'CURRENT_TRANSFORM_GROUP_FOR_TYPE' path_resolved_user_defined_type_name |
simple_value_specification¶
target_specification¶
simple_target_specification¶
::= identifier_chain
|
target_array_element_specification¶
Referenced by:
|
current_collation_specification¶
::= 'COLLATION' 'FOR' '(' string_value_expression ')' |
Referenced by:
|
contextually_typed_value_specification¶
| 'DEFAULT' |
implicitly_typed_value_specification¶
::= 'NULL'
|
empty_specification¶
::= ( 'ARRAY' | 'MULTISET' ) left_bracket_or_trigraph right_bracket_or_trigraph |
Referenced by:
|
identifier_chain¶
::= identifier ( '.' identifier )* |
column_reference¶
::= identifier_chain
| 'MODULE' '.' identifier '.' identifier |
set_function_specification¶
Referenced by:
|
grouping_operation¶
::= 'GROUPING' '(' column_reference ( ',' column_reference )* ')' |
Referenced by:
|
window_function¶
::= 'OVER' window_name_or_specification |
Referenced by:
|
window_function_type¶
::= ( rank_function_type | 'ROW_NUMBER' ) '(' ')'
|
Referenced by:
|
rank_function_type¶
::= 'RANK'
| 'DENSE_RANK'
| 'PERCENT_RANK'
| 'CUME_DIST' |
Referenced by:
|
ntile_function¶
::= 'NTILE' '(' number_of_tiles ')' |
Referenced by:
|
number_of_tiles¶
::= value_expression
| '?' |
Referenced by:
|
lead_or_lag_function¶
::= lead_or_lag '(' value_expression ( ',' value_expression ( ',' value_expression )? )? ')' null_treatment? |
Referenced by:
|
lead_or_lag¶
::= 'LEAD'
| 'LAG' |
Referenced by:
|
null_treatment¶
::= ( 'RESPECT' | 'IGNORE' ) 'NULLS' |
first_or_last_value_function¶
Referenced by:
|
first_or_last_value¶
::= 'FIRST_VALUE'
| 'LAST_VALUE' |
Referenced by:
|
nth_value_function¶
Referenced by:
|
nth_row¶
| '?' |
Referenced by:
|
from_first_or_last¶
::= 'FROM' ( 'FIRST' | 'LAST' ) |
Referenced by:
|
window_name_or_specification¶
Referenced by:
|
in_line_window_specification¶
Referenced by:
|
case_expression¶
Referenced by:
|
case_abbreviation¶
::= ( 'NULLIF' '(' value_expression ',' | 'COALESCE' '(' ( value_expression ',' )+ ) value_expression ')' |
Referenced by:
|
case_specification¶
::= simple_case
|
Referenced by:
|
simple_case¶
Referenced by:
|
searched_case¶
::= 'CASE' searched_when_clause+ else_clause? 'END' |
Referenced by:
|
simple_when_clause¶
::= 'WHEN' when_operand_list 'THEN' result |
Referenced by:
|
searched_when_clause¶
::= 'WHEN' search_condition 'THEN' result |
Referenced by:
|
else_clause¶
::= 'ELSE' result |
Referenced by:
|
case_operand¶
Referenced by:
|
when_operand_list¶
::= when_operand ( ',' when_operand )* |
Referenced by:
|
when_operand¶
Referenced by:
|
result¶
| 'NULL' |
Referenced by:
|
cast_specification¶
::= 'CAST' '(' cast_operand 'AS' cast_target ')'
| try_cast |
Referenced by:
|
cast_operand¶
::= value_expression
|
Referenced by:
|
cast_target¶
::= data_type
|
Referenced by:
|
next_value_expression¶
::= 'NEXT' 'VALUE' 'FOR' schema_qualified_name |
Referenced by:
|
field_reference¶
::= '.' identifier |
Referenced by:
|
subtype_treatment¶
::= 'TREAT' '(' value_expression 'AS' target_subtype ')' |
Referenced by:
|
target_subtype¶
Referenced by:
|
method_invocation¶
Referenced by:
|
direct_invocation¶
Referenced by:
|
generalized_invocation¶
::= '.' identifier SQL_argument_list? |
Referenced by:
|
static_method_invocation¶
::= '::' identifier SQL_argument_list? |
Referenced by:
|
new_specification¶
Referenced by:
|
new_invocation¶
Not referenced by any.
|
attribute_or_method_reference¶
::= lambda_body |
Referenced by:
|
dereference_operation¶
::= reference_value_expression '->' identifier |
Not referenced by any.
|
reference_resolution¶
::= 'DEREF' '(' reference_value_expression ')' |
Referenced by:
|
array_element_reference¶
Referenced by:
|
multiset_element_reference¶
::= 'ELEMENT' '(' multiset_value_expression ')' |
Referenced by:
|
value_expression¶
common_value_expression¶
user_defined_type_value_expression¶
Referenced by:
|
reference_value_expression¶
collection_value_expression¶
numeric_value_expression¶
term¶
Referenced by:
|
factor¶
factor ::= ( '+' | '-' )? numeric_primary |
Referenced by:
|
numeric_primary¶
Referenced by:
|
numeric_value_function¶
Referenced by:
|
position_expression¶
Referenced by:
|
regex_occurrences_function¶
::= 'OCCURRENCES_REGEX' '(' character_value_expression ( 'FLAG' character_value_expression )? 'IN' character_value_expression ( 'FROM' numeric_value_expression )? ( 'USING' char_length_units )? ')' |
Referenced by:
|
regex_position_expression¶
::= 'POSITION_REGEX' '(' regex_position_start_or_after? character_value_expression ( 'FLAG' character_value_expression )? 'IN' character_value_expression ( 'FROM' numeric_value_expression )? ( 'USING' char_length_units )? ( 'OCCURRENCE' numeric_value_expression )? ( 'GROUP' numeric_value_expression )? ')' |
Referenced by:
|
regex_position_start_or_after¶
::= 'START'
| 'AFTER' |
Referenced by:
|
character_position_expression¶
::= 'POSITION' '(' character_value_expression 'IN' character_value_expression ( 'USING' char_length_units )? ')' |
Referenced by:
|
binary_position_expression¶
::= 'POSITION' '(' binary_value_expression 'IN' binary_value_expression ')' |
Referenced by:
|
length_expression¶
Referenced by:
|
char_length_expression¶
::= ( 'CHAR_LENGTH' | 'CHARACTER_LENGTH' ) '(' character_value_expression ( 'USING' char_length_units )? ')' |
Referenced by:
|
octet_length_expression¶
::= 'OCTET_LENGTH' '(' string_value_expression ')' |
Referenced by:
|
extract_expression¶
::= 'EXTRACT' '(' extract_field 'FROM' extract_source ')' |
Referenced by:
|
extract_field¶
Referenced by:
|
time_zone_field¶
::= 'TIMEZONE_HOUR'
| 'TIMEZONE_MINUTE' |
Referenced by:
|
extract_source¶
Referenced by:
|
cardinality_expression¶
::= 'CARDINALITY' '(' collection_value_expression ')' |
Referenced by:
|
max_cardinality_expression¶
::= 'MAX_CARDINALITY' '(' array_value_expression ')' |
Referenced by:
|
absolute_value_expression¶
::= 'ABS' '(' numeric_value_expression ')' |
Referenced by:
|
modulus_expression¶
::= 'MOD' '(' numeric_value_expression ',' numeric_value_expression ')' |
Referenced by:
|
natural_logarithm¶
::= 'LN' '(' numeric_value_expression ')' |
Referenced by:
|
exponential_function¶
::= 'EXP' '(' numeric_value_expression ')' |
Referenced by:
|
power_function¶
::= 'POWER' '(' numeric_value_expression ',' numeric_value_expression ')' |
Referenced by:
|
square_root¶
::= 'SQRT' '(' numeric_value_expression ')' |
Referenced by:
|
floor_function¶
::= 'FLOOR' '(' numeric_value_expression ')' |
Referenced by:
|
ceiling_function¶
::= ( 'CEIL' | 'CEILING' ) '(' numeric_value_expression ')' |
Referenced by:
|
width_bucket_function¶
::= 'WIDTH_BUCKET' '(' numeric_value_expression ',' numeric_value_expression ( ',' numeric_value_expression ',' numeric_value_expression )? ')' |
Referenced by:
|
string_value_expression¶
character_value_expression¶
concatenation¶
::= '||' character_factor |
Referenced by:
|
character_factor¶
Referenced by:
|
character_primary¶
Referenced by:
|
binary_value_expression¶
binary_primary¶
Referenced by:
|
binary_concatenation¶
::= '||' binary_primary |
Referenced by:
|
string_value_function¶
Referenced by:
|
character_value_function¶
| fold
|
Referenced by:
|
character_substring_function¶
::= 'SUBSTRING' '(' character_value_expression 'FROM' numeric_value_expression ( 'FOR' numeric_value_expression )? ( 'USING' char_length_units )? ')' |
Referenced by:
|
regular_expression_substring_function¶
::= 'SUBSTRING' '(' character_value_expression 'SIMILAR' character_value_expression 'ESCAPE' character_value_expression ')' |
Referenced by:
|
regex_substring_function¶
::= 'SUBSTRING_REGEX' '(' character_value_expression ( 'FLAG' character_value_expression )? 'IN' character_value_expression ( 'FROM' numeric_value_expression )? ( 'USING' char_length_units )? ( 'OCCURRENCE' numeric_value_expression )? ( 'GROUP' numeric_value_expression )? ')' |
Referenced by:
|
fold¶
fold ::= ( 'UPPER' | 'LOWER' ) '(' character_value_expression ')' |
Referenced by:
|
transcoding¶
::= 'CONVERT' '(' character_value_expression 'USING' schema_qualified_name ')' |
Referenced by:
|
character_transliteration¶
::= 'TRANSLATE' '(' character_value_expression 'USING' schema_qualified_name ')' |
Referenced by:
|
regex_transliteration¶
::= 'TRANSLATE_REGEX' '(' character_value_expression ( 'FLAG' character_value_expression )? 'IN' character_value_expression ( 'WITH' character_value_expression )? ( 'FROM' numeric_value_expression )? ( 'USING' char_length_units )? ( 'OCCURRENCE' regex_transliteration_occurrence )? ')' |
Referenced by:
|
regex_transliteration_occurrence¶
::= 'ALL'
|
Referenced by:
|
trim_function¶
::= 'TRIM' '(' trim_operands ')' |
Referenced by:
|
trim_operands¶
Referenced by:
|
trim_specification¶
::= 'LEADING'
| 'TRAILING'
| 'BOTH' |
Referenced by:
|
character_overlay_function¶
::= 'OVERLAY' '(' character_value_expression 'PLACING' character_value_expression 'FROM' numeric_value_expression ( 'FOR' numeric_value_expression )? ( 'USING' char_length_units )? ')' |
Referenced by:
|
normalize_function¶
::= 'NORMALIZE' '(' character_value_expression ( ',' normal_form ( ',' normalize_function_result_length )? )? ')' |
Referenced by:
|
normal_form¶
::= 'NFC'
| 'NFD'
| 'NFKC'
| 'NFKD' |
Referenced by:
|
normalize_function_result_length¶
::= character_length
|
Referenced by:
|
specific_type_method¶
::= '.' 'SPECIFICTYPE' ( '(' ')' )? |
Referenced by:
|
binary_value_function¶
Referenced by:
|
binary_substring_function¶
::= 'SUBSTRING' '(' binary_value_expression 'FROM' numeric_value_expression ( 'FOR' numeric_value_expression )? ')' |
Referenced by:
|
binary_trim_function¶
::= 'TRIM' '(' binary_trim_operands ')' |
Referenced by:
|
binary_trim_operands¶
Referenced by:
|
binary_overlay_function¶
::= 'OVERLAY' '(' binary_value_expression 'PLACING' binary_value_expression 'FROM' numeric_value_expression ( 'FOR' numeric_value_expression )? ')' |
Referenced by:
|
datetime_value_expression¶
::= datetime_term
|
datetime_term¶
::= datetime_factor |
Referenced by:
|
datetime_factor¶
Referenced by:
|
datetime_primary¶
Referenced by:
|
time_zone¶
::= 'AT' time_zone_specifier |
Referenced by:
|
time_zone_specifier¶
::= 'LOCAL'
| 'TIME' 'ZONE' interval_primary |
Referenced by:
|
datetime_value_function¶
::= 'CURRENT_DATE'
|
Referenced by:
|
current_time_value_function¶
::= 'CURRENT_TIME' ( '(' unsigned_integer ')' )? |
Referenced by:
|
current_local_time_value_function¶
::= 'LOCALTIME' ( '(' unsigned_integer ')' )? |
Referenced by:
|
current_timestamp_value_function¶
::= 'CURRENT_TIMESTAMP' ( '(' unsigned_integer ')' )? |
Referenced by:
|
current_local_timestamp_value_function¶
::= 'LOCALTIMESTAMP' ( '(' unsigned_integer ')' )? |
Referenced by:
|
interval_value_expression¶
::= interval_term
|
interval_term¶
::= interval_factor ( ( '*' | '/' ) factor )? |
Referenced by:
|
interval_factor¶
::= ( '+' | '-' )? interval_primary |
Referenced by:
|
interval_primary¶
Referenced by:
|
interval_value_function¶
Referenced by:
|
interval_absolute_value_function¶
::= 'ABS' '(' interval_value_expression ')' |
Referenced by:
|
boolean_value_expression¶
::= boolean_term ( 'OR' boolean_term )* |
boolean_term¶
::= boolean_factor ( 'AND' boolean_factor )* |
Referenced by:
|
boolean_factor¶
::= 'NOT'? boolean_test |
Referenced by:
|
boolean_test¶
::= boolean_primary ( 'IS' 'NOT'? truth_value )? |
Referenced by:
|
truth_value¶
::= 'TRUE'
| 'FALSE'
| 'UNKNOWN' |
Referenced by:
|
boolean_primary¶
::= predicate
|
Referenced by:
|
boolean_predicand¶
Referenced by:
|
parenthesized_boolean_value_expression¶
::= '(' boolean_value_expression ')' |
Referenced by:
|
array_value_expression¶
::= array_primary ( '||' array_primary )* |
array_value_expression_1¶
Not referenced by any.
|
array_primary¶
Referenced by:
|
array_value_function¶
Referenced by:
|
trim_array_function¶
::= 'TRIM_ARRAY' '(' array_value_expression ',' numeric_value_expression ')' |
Referenced by:
|
array_value_constructor¶
Referenced by:
|
array_value_constructor_by_enumeration¶
Referenced by:
|
array_element_list¶
::= array_element ( ',' array_element )* |
Referenced by:
|
array_element¶
::= value_expression |
Referenced by:
|
array_value_constructor_by_query¶
::= 'ARRAY' subquery |
Referenced by:
|
multiset_value_expression¶
::= multiset_term ( 'MULTISET' ( 'UNION' | 'EXCEPT' ) ( 'ALL' | 'DISTINCT' )? multiset_term )? |
multiset_term¶
::= multiset_primary ( 'MULTISET' 'INTERSECT' ( 'ALL' | 'DISTINCT' )? multiset_primary )? |
Referenced by:
|
multiset_primary¶
Referenced by:
|
multiset_set_function¶
::= 'SET' '(' multiset_value_expression ')' |
Referenced by:
|
multiset_value_constructor¶
Referenced by:
|
multiset_value_constructor_by_enumeration¶
Referenced by:
|
multiset_element_list¶
::= multiset_element ( ',' multiset_element )* |
Referenced by:
|
multiset_element¶
::= value_expression |
Referenced by:
|
multiset_value_constructor_by_query¶
::= 'MULTISET' subquery |
Referenced by:
|
table_value_constructor_by_query¶
::= 'TABLE' subquery |
Referenced by:
|
row_value_constructor¶
Referenced by:
|
explicit_row_value_constructor¶
::= ( 'ROW' '(' row_value_constructor_element_list | '(' row_value_constructor_element ( ',' row_value_constructor_element_list )? ) ')'
| subquery |
row_value_constructor_element_list¶
Referenced by:
|
row_value_constructor_element¶
::= value_expression |
contextually_typed_row_value_constructor¶
Referenced by:
|
contextually_typed_row_value_constructor_element_list¶
Referenced by:
|
contextually_typed_row_value_constructor_element¶
row_value_constructor_predicand¶
Referenced by:
|
row_value_expression¶
Referenced by:
|
table_row_value_expression¶
Referenced by:
|
contextually_typed_row_value_expression¶
Referenced by:
|
row_value_predicand¶
row_value_special_case¶
table_value_constructor¶
::= 'VALUES' row_value_expression_list |
Referenced by:
|
row_value_expression_list¶
::= table_row_value_expression ( ',' table_row_value_expression )* |
Referenced by:
|
contextually_typed_table_value_constructor¶
::= 'VALUES' contextually_typed_row_value_expression_list |
Referenced by:
|
contextually_typed_row_value_expression_list¶
Referenced by:
|
table_expression¶
Referenced by:
|
from_clause¶
::= 'FROM' table_reference_list |
Referenced by:
|
table_reference_list¶
::= table_reference ( ',' table_reference )* |
Referenced by:
|
table_reference¶
::= table_factor joined_table* |
table_factor¶
Referenced by:
|
sample_clause¶
Referenced by:
|
sample_method¶
::= 'BERNOULLI'
| 'SYSTEM' |
Referenced by:
|
repeatable_clause¶
::= 'REPEATABLE' '(' repeat_argument ')' |
Referenced by:
|
sample_percentage¶
Referenced by:
|
repeat_argument¶
Referenced by:
|
table_primary¶
Referenced by:
|
alias¶
Referenced by:
|
system_version_specification¶
::= ( 'AS' 'OF' 'SYSTEM' 'TIME' | 'VERSIONS' ( ( 'BEFORE' | 'AFTER' ) 'SYSTEM'
'TIME' | 'BETWEEN' ( 'ASYMMETRIC' | 'SYMMETRIC' )? 'SYSTEM' 'TIME' datetime_value_expression 'AND' ) ) datetime_value_expression |
Not referenced by any.
|
only_spec¶
::= 'ONLY' '(' table_or_query_name ')' |
Referenced by:
|
lateral_derived_table¶
::= 'LATERAL' subquery |
Referenced by:
|
collection_derived_table¶
::= 'UNNEST' '(' collection_value_expression ( ',' collection_value_expression )* ')' ( 'WITH' 'ORDINALITY' )? |
Referenced by:
|
table_function_derived_table¶
::= 'TABLE' '(' collection_value_expression ')' |
Referenced by:
|
derived_table¶
::= query_expression
| subquery |
Referenced by:
|
table_or_query_name¶
::= table_name
|
Referenced by:
|
column_name_list¶
::= identifier ( ',' identifier )* |
Referenced by:
|
data_change_delta_table¶
::= result_option 'TABLE' '(' data_change_statement ')' |
Referenced by:
|
data_change_statement¶
Referenced by:
|
result_option¶
::= 'FINAL'
| 'NEW'
| 'OLD' |
Referenced by:
|
parenthesized_joined_table¶
Referenced by:
|
joined_table¶
::= cross_join
|
Referenced by:
|
cross_join¶
::= 'CROSS' 'JOIN' table_factor |
Referenced by:
|
qualified_join¶
Referenced by:
|
partitioned_join_table¶
::= 'PARTITION' 'BY' partitioned_join_column_reference_list |
Referenced by:
|
partitioned_join_column_reference_list¶
::= '(' partitioned_join_column_reference ( ',' partitioned_join_column_reference )* ')' |
Referenced by:
|
partitioned_join_column_reference¶
::= column_reference |
Referenced by:
|
natural_join¶
Referenced by:
|
join_specification¶
::= join_condition
|
Referenced by:
|
join_condition¶
::= 'ON' search_condition |
Referenced by:
|
named_columns_join¶
::= 'USING' '(' join_column_list ')' |
Referenced by:
|
join_type¶
::= 'INNER'
| outer_join_type 'OUTER'? |
Referenced by:
|
outer_join_type¶
::= 'LEFT'
| 'RIGHT'
| 'FULL' |
Referenced by:
|
join_column_list¶
::= column_name_list |
Referenced by:
|
where_clause¶
::= 'WHERE' search_condition |
Referenced by:
|
group_by_clause¶
::= 'GROUP' 'BY' set_quantifier? grouping_element_list |
Referenced by:
|
grouping_element_list¶
::= grouping_element ( ',' grouping_element )* |
Referenced by:
|
grouping_element¶
::= rollup_list
|
Referenced by:
|
ordinary_grouping_set¶
| '(' grouping_column_reference_list ')' |
Referenced by:
|
grouping_column_reference¶
Referenced by:
|
grouping_column_reference_list¶
::= grouping_column_reference ( ',' grouping_column_reference )* |
Referenced by:
|
rollup_list¶
::= 'ROLLUP' '(' ordinary_grouping_set_list ')' |
Referenced by:
|
ordinary_grouping_set_list¶
::= ordinary_grouping_set ( ',' ordinary_grouping_set )* |
Referenced by:
|
cube_list¶
::= 'CUBE' '(' ordinary_grouping_set_list ')' |
Referenced by:
|
grouping_sets_specification¶
::= 'GROUPING' 'SETS' '(' grouping_set_list ')' |
Referenced by:
|
grouping_set_list¶
::= grouping_set ( ',' grouping_set )* |
Referenced by:
|
grouping_set¶
::= rollup_list
|
Referenced by:
|
empty_grouping_set¶
::= '(' ')' |
Referenced by:
|
having_clause¶
::= 'HAVING' search_condition |
Referenced by:
|
window_clause¶
::= 'WINDOW' window_definition_list |
Referenced by:
|
window_definition_list¶
::= window_definition ( ',' window_definition )* |
Referenced by:
|
window_definition¶
::= identifier 'AS' window_specification |
Referenced by:
|
window_specification¶
::= '(' window_specification_details? ')' |
Referenced by:
|
window_specification_details¶
Referenced by:
|
existing_identifier¶
::= identifier |
Referenced by:
|
window_partition_clause¶
::= 'PARTITION' 'BY' window_partition_column_reference_list |
Referenced by:
|
window_partition_column_reference_list¶
Referenced by:
|
window_partition_column_reference¶
Referenced by:
|
window_order_clause¶
::= 'ORDER' 'BY' sort_specification_list |
Referenced by:
|
window_frame_clause¶
Referenced by:
|
window_frame_units¶
::= 'ROWS'
| 'RANGE' |
Referenced by:
|
window_frame_extent¶
Referenced by:
|
window_frame_start¶
::= 'UNBOUNDED' 'PRECEDING'
| 'CURRENT' 'ROW'
|
Referenced by:
|
window_frame_preceding¶
::= value_expression 'PRECEDING' |
Referenced by:
|
window_frame_between¶
::= 'BETWEEN' window_frame_bound 'AND' window_frame_bound |
Referenced by:
|
window_frame_bound¶
| 'UNBOUNDED' 'FOLLOWING'
|
Referenced by:
|
window_frame_following¶
::= value_expression 'FOLLOWING' |
Referenced by:
|
window_frame_exclusion¶
::= 'EXCLUDE' ( 'CURRENT' 'ROW' | 'GROUP' | 'TIES' | 'NO' 'OTHERS' ) |
Referenced by:
|
query_specification¶
Referenced by:
|
select_list¶
Referenced by:
|
select_sublist¶
Referenced by:
|
qualified_asterisk¶
::= asterisked_identifier_chain '.' '*'
|
Not referenced by any.
|
asterisked_identifier_chain¶
::= identifier ( '.' identifier )* |
Referenced by:
|
derived_column¶
Referenced by:
|
as_clause¶
::= 'AS'? identifier |
Referenced by:
|
all_fields_reference¶
::= value_expression_primary '.' '*' ( 'AS' '(' all_fields_column_name_list ')' )? |
Referenced by:
|
all_fields_column_name_list¶
::= column_name_list |
Referenced by:
|
query_expression¶
with_clause¶
::= 'WITH' 'RECURSIVE'? with_list |
Referenced by:
|
with_list¶
::= with_list_element ( ',' with_list_element )* |
Referenced by:
|
with_list_element¶
Referenced by:
|
query_expression_body¶
Referenced by:
|
query_term¶
Referenced by:
|
query_primary¶
::= '(' query_expression_body order_by_clause? ( limit_clause | result_offset_clause? fetch_first_clause? )? ')'
|
Referenced by:
|
simple_table¶
Referenced by:
|
explicit_table¶
::= 'TABLE' table_or_query_name |
Referenced by:
|
corresponding_spec¶
::= 'CORRESPONDING' ( 'BY' '(' column_name_list ')' )? |
Referenced by:
|
order_by_clause¶
::= 'ORDER' 'BY' sort_specification_list |
Referenced by:
|
result_offset_clause¶
::= 'OFFSET' simple_value_specification ( 'ROW' | 'ROWS' ) |
Referenced by:
|
fetch_first_clause¶
::= 'FETCH' ( 'FIRST' | 'NEXT' ) simple_value_specification? ( 'ROW' | 'ROWS' ) 'ONLY' |
Referenced by:
|
search_or_cycle_clause¶
Referenced by:
|
search_clause¶
::= 'SEARCH' recursive_search_order 'SET' identifier |
Referenced by:
|
recursive_search_order¶
::= ( 'DEPTH' | 'BREADTH' ) 'FIRST' 'BY' column_name_list |
Referenced by:
|
cycle_clause¶
::= 'CYCLE' cycle_column_list 'SET' identifier 'TO' value_expression 'DEFAULT' value_expression 'USING' identifier |
Referenced by:
|
cycle_column_list¶
::= identifier ( ',' identifier )* |
Referenced by:
|