SQL: SELECT_COMMAND UPDATE_COMMAND INSERT_COMMAND EOF SEMICOLON SQL ::= ( SELECT_COMMAND | UPDATE_COMMAND | INSERT_COMMAND ) ( EOF | SEMICOLON )* no referencesSELECT_COMMAND: SELECT SELECTION DISPLAYED_COLUMN , FROM SELECTED_TABLE , WHERE_CLAUSE GROUPBY_CLAUSE ORDERBY_CLAUSE LIMIT_CLAUSE SELECT_COMMAND ::= 'SELECT' SELECTION DISPLAYED_COLUMN ( ',' DISPLAYED_COLUMN )* 'FROM' SELECTED_TABLE ( ',' SELECTED_TABLE )* WHERE_CLAUSE GROUPBY_CLAUSE ORDERBY_CLAUSE LIMIT_CLAUSE referenced by: SQL SUBQUERY UPDATE_COMMAND: UPDATE TABLE_NAME SETS WHERE_CLAUSE UPDATE_COMMAND ::= 'UPDATE' TABLE_NAME SETS WHERE_CLAUSE referenced by: SQL INSERT_COMMAND: INSERT INTO TABLE_NAME ( INSERT_COLUMN , ) VALUES VALUES ( VALUE , ) SETS INSERT_COMMAND ::= 'INSERT' 'INTO' TABLE_NAME ( ( '(' INSERT_COLUMN ( ',' INSERT_COLUMN )* ')' VALUES | 'VALUES' ) '(' VALUE ( ',' VALUE )* ')' | SETS ) referenced by: SQL INSERT_COLUMN: IDENTIFIER PERIOD IDENTIFIER INSERT_COLUMN ::= 'IDENTIFIER' ( 'PERIOD' 'IDENTIFIER' )? referenced by: INSERT_COMMAND SETS WHERE_CLAUSE: WHERE EXPR WHERE_CLAUSE ::= ( 'WHERE' EXPR )? referenced by: SELECT_COMMAND UPDATE_COMMAND EXPRESSIONS: EXPR , EXPRESSIONS ::= EXPR ( ',' EXPR )* referenced by: GROUPBY_CLAUSE SORTED_DEF VARIABLE: IDENTIFIER PERIOD IDENTIFIER VARIABLE ::= 'IDENTIFIER' ( 'PERIOD' 'IDENTIFIER' )? referenced by: EXPR GROUPBY_CLAUSE: GROUP BY EXPRESSIONS HAVING EXPR = != > < >= <= LIKE EXPR IS NOT NULL GROUPBY_CLAUSE ::= ( 'GROUP BY' EXPRESSIONS ( 'HAVING' EXPR ( ( '=' | '!=' | '>' | '<' | '>=' | '<=' | 'LIKE' ) EXPR | 'IS' 'NOT'? NULL ) )? )? referenced by: SELECT_COMMAND ORDERBY_CLAUSE: ORDER BY SORTED_DEF DIRECTION ORDERBY_CLAUSE ::= ( 'ORDER BY' SORTED_DEF DIRECTION )? referenced by: SELECT_COMMAND LIMIT_CLAUSE: LIMIT NUMBER_LEX LIMIT_CLAUSE ::= ( 'LIMIT' 'NUMBER_LEX' )? referenced by: SELECT_COMMAND SUBQUERY: ( SELECT_COMMAND ) SUBQUERY ::= '(' SELECT_COMMAND ')' referenced by: DISPLAYED_COLUMN EXPR VALUE DISPLAYED_COLUMN: COLUMN_NAME GROUP_FUNCTION ( SELECTION COLUMN_NAME , ) SUBQUERY AS_ALIAS DISPLAYED_COLUMN ::= ( COLUMN_NAME | GROUP_FUNCTION '(' SELECTION COLUMN_NAME ( ',' COLUMN_NAME )* ')' | SUBQUERY ) AS_ALIAS referenced by: SELECT_COMMAND SELECTED_TABLE: TABLE_NAME AS_ALIAS SELECTED_TABLE ::= TABLE_NAME AS_ALIAS referenced by: SELECT_COMMAND SETS: SET INSERT_COLUMN = VALUE , SETS ::= 'SET' INSERT_COLUMN '=' VALUE ( ',' INSERT_COLUMN '=' VALUE )* referenced by: INSERT_COMMAND UPDATE_COMMAND VALUE: QUOTED_STRING - + IDENTIFIER NUMBER_LEX FUNCTION SUBQUERY VALUE ::= ( QUOTED_STRING | ( '-' | '+' )? ( IDENTIFIER | NUMBER_LEX ) | FUNCTION | SUBQUERY )? referenced by: INSERT_COMMAND SETS EXPR: BOOL NUMBER_LEX QUOTED_STRING DATETIME VARIABLE SUBQUERY FUNCTION GROUP_FUNCTION ( SELECTION ( EXPR ) EXPR + - / * = != > < >= <= LIKE AND OR EXPR IN SUBQUERY ( ARRAY_ENTRY , ) IS NOT NULL NOT EXPR EXPR ::= BOOL | NUMBER_LEX | QUOTED_STRING | DATETIME | VARIABLE | SUBQUERY | FUNCTION | ( GROUP_FUNCTION '(' SELECTION | '(' ) EXPR ')' | EXPR ( ( '+' | '-' | '/' | '*' | '=' | '!=' | '>' | '<' | '>=' | '<=' | 'LIKE' | 'AND' | 'OR' ) EXPR | 'IN' ( SUBQUERY | '(' ARRAY_ENTRY ( ',' ARRAY_ENTRY )* ')' ) | 'IS' 'NOT'? 'NULL' ) | 'NOT' EXPR referenced by: CHAR_FUNCTION EXPR EXPRESSIONS GROUPBY_CLAUSE NUMBER_FUNCTION WHERE_CLAUSE ARRAY_ENTRY: QUOTED_STRING NUMBER_LEX DATETIME BOOL ARRAY_ENTRY ::= QUOTED_STRING | NUMBER_LEX | DATETIME | BOOL referenced by: EXPR QUOTED_STRING: QUOTE NUMBER_LEX IDENTIFIER QUOTE DOUBLEQUOTE NUMBER_LEX IDENTIFIER DOUBLEQUOTE QUOTED_STRING ::= ( QUOTE ( NUMBER_LEX | IDENTIFIER ) QUOTE | DOUBLEQUOTE ( NUMBER_LEX | IDENTIFIER ) DOUBLEQUOTE )? referenced by: ARRAY_ENTRY EXPR VALUE SCHEMA_NAME: IDENTIFIER PERIOD SCHEMA_NAME ::= IDENTIFIER PERIOD no referencesDATETIME: QUOTE DATE TIME QUOTE DATETIME ::= QUOTE DATE TIME? QUOTE referenced by: ARRAY_ENTRY EXPR AS_ALIAS: AS IDENTIFIER AS_ALIAS ::= ( 'AS'? IDENTIFIER )? referenced by: DISPLAYED_COLUMN SELECTED_TABLE TABLE_NAME: IDENTIFIER BACKTICKS IDENTIFIER BACKTICKS TABLE_NAME ::= IDENTIFIER | BACKTICKS IDENTIFIER BACKTICKS referenced by: INSERT_COMMAND SELECTED_TABLE UPDATE_COMMAND COLUMN_NAME: * IDENTIFIER . * IDENTIFIER BACKTICKS IDENTIFIER BACKTICKS . * BACKTICKS IDENTIFIER BACKTICKS COLUMN_NAME ::= '*' | IDENTIFIER ( '.' ( '*' | IDENTIFIER ) )? | BACKTICKS IDENTIFIER BACKTICKS ( '.' ( '*' | BACKTICKS IDENTIFIER BACKTICKS ) )? referenced by: DISPLAYED_COLUMN SORTED_DEF: EXPRESSIONS SORTED_DEF ::= EXPRESSIONS referenced by: ORDERBY_CLAUSE GROUP_FUNCTION: AVG COUNT MIN MAX STDDEV SUM VARIANCE GROUP_FUNCTION ::= 'AVG' | 'COUNT' | 'MIN' | 'MAX' | 'STDDEV' | 'SUM' | 'VARIANCE' referenced by: DISPLAYED_COLUMN EXPR FUNCTION: NUMBER_FUNCTION CHAR_FUNCTION DATE_FUNCTION FUNCTION ::= NUMBER_FUNCTION | CHAR_FUNCTION | DATE_FUNCTION referenced by: EXPR VALUE DATE_FUNCTION: NOW CURDATE CURTIME ( DATE ( DATE ) DATE_FUNCTION ::= ( ( 'NOW' | 'CURDATE' | 'CURTIME' ) '(' | 'DATE' '(' DATE ) ')' referenced by: FUNCTION NUMBER_FUNCTION: NUMBER_FUNCTION_ONE_PARAM ( NUMBER_FUNCTION_TWO_PARAM ( EXPR , EXPR ) NUMBER_FUNCTION ::= ( NUMBER_FUNCTION_ONE_PARAM '(' | NUMBER_FUNCTION_TWO_PARAM '(' EXPR ',' ) EXPR ')' referenced by: FUNCTION NUMBER_FUNCTION_ONE_PARAM: ABS CEIL FLOOR SIGN SQRT NUMBER_FUNCTION_ONE_PARAM ::= 'ABS' | 'CEIL' | 'FLOOR' | 'SIGN' | 'SQRT' referenced by: NUMBER_FUNCTION NUMBER_FUNCTION_TWO_PARAM: MOD POWER ROUND TRUNCATE NUMBER_FUNCTION_TWO_PARAM ::= 'MOD' | 'POWER' | 'ROUND' | 'TRUNCATE' referenced by: NUMBER_FUNCTION CHAR_FUNCTION: CHAR_FUNCTION_ONE_PARAM ( CHAR_FUNCTION_TWO_PARAM ( CHAR_FUNCTION_THREE_PARAM ( EXPR , EXPR , EXPR ) CHAR_FUNCTION ::= ( CHAR_FUNCTION_ONE_PARAM '(' | ( CHAR_FUNCTION_TWO_PARAM '(' | CHAR_FUNCTION_THREE_PARAM '(' EXPR ',' ) EXPR ',' ) EXPR ')' referenced by: FUNCTION CHAR_FUNCTION_ONE_PARAM: LOWER TRIM RTRIM UPPER ASCII LENGTH TO DATE CHAR_FUNCTION_ONE_PARAM ::= 'LOWER' | 'TRIM' | 'RTRIM' | 'UPPER' | 'ASCII' | 'LENGTH' | 'TO DATE' referenced by: CHAR_FUNCTION CHAR_FUNCTION_TWO_PARAM: INSTR SUBSTRING CHAR_FUNCTION_TWO_PARAM ::= 'INSTR' | 'SUBSTRING' referenced by: CHAR_FUNCTION CHAR_FUNCTION_THREE_PARAM: LPAD REPLACE RPAD CHAR_FUNCTION_THREE_PARAM ::= 'LPAD' | 'REPLACE' | 'RPAD' referenced by: CHAR_FUNCTION SELECTION: DISTINCT ALL SELECTION ::= ( 'DISTINCT' | 'ALL' )? referenced by: DISPLAYED_COLUMN EXPR SELECT_COMMAND DIRECTION: ASC DESC DIRECTION ::= ( 'ASC' | 'DESC' )? referenced by: ORDERBY_CLAUSE   ... generated by Railroad Diagram Generator R R