| SQLAndExpr |
::= |
SQLNotExpr ( <AND> SQLNotExpr )* |
| SQLBetweenClause |
::= |
( <NOT> )? <BETWEEN> SQLSumExpr <AND> SQLSumExpr |
| SQLColRef |
::= |
SQLLvalue |
| SQLCompareExpr |
::= |
( SQLSelect | SQLIsClause | SQLExistsClause | SQLSumExpr ( SQLCompareExprRight )? ) |
| SQLCompareExprRight |
::= |
( SQLLikeClause | SQLInClause | SQLLeftJoinClause | SQLRightJoinClause | SQLBetweenClause | SQLCompareOp SQLSumExpr ) |
| SQLCompareOp |
::= |
( <EQUAL> | <NOTEQUAL> |
<NOTEQUAL2> | <GREATER> | <GREATEREQUAL> |
<LESS> | <LESSEQUAL> ) |
| SQLCustom |
::= |
<CUSTOM> <ID> <TABLES> SQLTableList <VALUES> SQLFunctionArgs |
| SQLDelete |
::= |
<DELETE> <FROM> SQLTableList ( SQLWhere )? |
| SQLExistsClause |
::= |
<EXISTS> "(" SQLSelect ")" |
| SQLFunction |
::= |
<ID> SQLFunctionArgs |
| SQLFunctionArgs |
::= |
"(" ( SQLSumExpr ( "," SQLSumExpr )* )? ")" |
| SQLGroupBy |
::= |
<GROUP> <BY> SQLOrderByList |
| SQLInClause |
::= |
( <NOT> )? <IN> "(" SQLLValueList ")" |
| SQLInsert |
::= |
<INSERT> <INTO> SQLTableList ( "(" SQLSelectCols ")" <VALUES> )? "(" SQLSelectCols ")" |
| SQLIsClause |
::= |
SQLColRef <IS> ( <NOT> )? <NULL> |
| SQLLeftJoinClause |
::= |
"(+)" SQLCompareOp SQLSumExpr |
| SQLLikeClause |
::= |
( <NOT> )? <LIKE> SQLPattern |
| SQLLiteral |
::= |
( <STRING_LITERAL> | <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> | <SPACES> | <ASTERISK> ) |
| SQLLvalue |
::= |
( SQLLvalueTerm ) |
| SQLLvalueTerm |
::= |
<ID> ( <DOT> <ID> )* |
| SQLNotExpr |
::= |
( <NOT> )? SQLCompareExpr |
| SQLOrderBy |
::= |
<ORDER> <BY> SQLOrderByList |
| SQLOrderByElem |
::= |
SQLColRef ( SQLOrderDirection )? |
| SQLOrderByList |
::= |
SQLOrderByElem ( "," SQLOrderByElem )* |
| SQLOrderDirection |
::= |
( <ASC> | <DESC> ) |
| SQLOrExpr |
::= |
SQLAndExpr ( <OR> SQLAndExpr )* |
| SQLPattern |
::= |
( <STRING_LITERAL> | "?" | SQLLvalue ) |
| SQLProductExpr |
::= |
SQLUnaryExpr ( ( "*" | "/" ) SQLUnaryExpr )* |
| SQLRightJoinClause |
::= |
SQLCompareOp SQLSumExpr "(+)" |
| SQLUnion |
::= |
( SQLTableRef | <OPENPAREN> SQLSelect <CLOSEPAREN> ) <UNION> ( SQLTableRef | <OPENPAREN> SQLSelect <CLOSEPAREN> ) |
| SQLSelect |
::= |
<SELECT> SQLSelectCols ( <INTO> SQLSelectCols )? <FROM> SQLTableList ( SQLWhere )? ( SQLGroupBy )? ( SQLOrderBy )? |
| SQLSelectCols |
::= |
( <ALL> | <DISTINCT> )? ( "*" | SQLSelectList ) |
| SQLSelectList |
::= |
SQLSumExpr ( <AS> <ID> )? ( "," SQLSumExpr ( <AS> <ID> )? )* |
| SQLStatement |
::= |
( SQLSelect | SQLInsert | SQLUpdate | SQLDelete | SQLUnion | SQLCustom ) ";" |
| SQLSumExpr |
::= |
SQLProductExpr ( ( "+" | "-" | "||" ) SQLProductExpr )* |
| SQLTableList |
::= |
SQLTableRef ( "," SQLTableRef )* |
| SQLTableRef |
::= |
( <ID> | <STRING_LITERAL> ) ( <ID> )? |
| SQLTerm |
::= |
( "(" SQLOrExpr ")" | SQLFunction | SQLColRef | SQLLiteral ) |
| SQLUnaryExpr |
::= |
( ( "+" | "-" ) )? SQLTerm |
| SQLUpdate |
::= |
<UPDATE> SQLTableList <SET> ( SQLUpdateAssignment ( "," )? )+ ( SQLWhere )? |
| SQLUpdateAssignment |
::= |
SQLLvalue "=" ( SQLTerm ( <CONCAT> SQLTerm )+ | SQLSumExpr ) |
| SQLLValueElement |
::= |
( <NULL> | SQLSumExpr | SQLSelect ) |
| SQLLValueList |
::= |
SQLLValueElement ( "," SQLLValueElement )* |
| SQLWhere |
::= |
<WHERE> SQLOrExpr |