Skip to main content

18.10.1 Syntax of query API

sql:

sql

sql      ::= select_statement

select_statement:

select_statement

select_statement
         ::= 'SELECT' selectcol_list 'FROM' table_list where_condition order_clause limit_clause ';'

referenced by:

  • sql

selectcol_list:

selectcol_list

selectcol_list
         ::= selectcolumn_exp FIELDNAME
           | '*'
           | COUNT '(' ASTERISK ')'

referenced by:

  • select_statement
  • selectcolumn_exp

selectcolumn_exp:

selectcolumn_exp

selectcolumn_exp
         ::= ( selectcol_list ',' )?

referenced by:

  • selectcol_list

table_list:

table_list

table_list
         ::= MODULENAME

referenced by:

  • select_statement

where_condition:

where_condition

where_condition
         ::= ( 'WHERE' condition )?

referenced by:

  • select_statement

condition:

condition

condition
         ::= expr_set expr

referenced by:

  • expr_set
  • where_condition

expr_set:

expr_set

expr_set ::= ( condition ( 'AND' | 'OR' ) )?

referenced by:

  • condition

expr:

expr

expr     ::= FIELDNAME logical_term valuelist

referenced by:

  • condition

valuelist:

valuelist

valuelist
         ::= '(' valueref ')'
           | valueref

referenced by:

  • expr

valueref:

valueref

valueref ::= value_exp VALUE

referenced by:

  • value_exp
  • valuelist

value_exp:

value_exp

value_exp
         ::= ( valueref ',' )?

referenced by:

  • valueref

logical_term:

logical_term

logical_term
         ::= '='
           | '<'
           | '>'
           | '<='
           | '>='
           | '!='
           | 'IN'
           | 'LIKE'

referenced by:

  • expr

order_clause:

order_clause

order_clause
         ::= ( 'ORDER BY' column_group clause )?

referenced by:

  • select_statement

column_group:

column_group

column_group
         ::= column_list

referenced by:

  • order_clause

column_list:

column_list

column_list
         ::= column_exp FIELDNAME

referenced by:

  • column_exp
  • column_group

column_exp:

column_exp

column_exp
         ::= ( column_list ',' )?

referenced by:

  • column_list

clause:

clause

clause   ::= ( 'ASC' | 'DESC' )?

referenced by:

  • order_clause

limit_clause:

limit_clause

limit_clause
         ::= ( 'LIMIT' limit_set )?

referenced by:

  • select_statement

limit_set:

limit_set

limit_set
         ::= VALUE ( ',' VALUE )?

referenced by:

  • limit_clause