select-statement:

selectfieldswhere-clauseorderby-clause

select-statement
         ::= 'select' fields where-clause? orderby-clause?

no references



fields:

column,*

fields   ::= column ( ',' column )*
           | '*'

referenced by:



where-clause:

wherefilter

where-clause
         ::= 'where' filter

referenced by:



filter:

boolean-predicateconjunctiondisjunction

filter   ::= boolean-predicate
           | conjunction
           | disjunction

referenced by:



boolean-predicate:

notpredicate

boolean-predicate
         ::= 'not'? predicate

referenced by:



predicate:

comparison-predicatecontains-predicatelocation-predicate

predicate
         ::= comparison-predicate
           | contains-predicate
           | location-predicate

referenced by:



conjunction:

filterandboolean-predicate

conjunction
         ::= filter ( and boolean-predicate )+

referenced by:



disjunction:

filterorboolean-predicate

disjunction
         ::= filter ( or boolean-predicate )+

referenced by:



comparison-predicate:

columncomparisonliteral

comparison-predicate
         ::= column comparison literal

referenced by:



contains-predicate:

columncontainsstring

contains-predicate
         ::= column 'contains' string

referenced by:



location-predicate:

columnwithinlocation

location-predicate
         ::= column 'within' location

referenced by:



location:

numberofcoordinates

location ::= number 'of' coordinates

referenced by:



coordinates:

number,number

coordinates
         ::= number ',' number

referenced by:



orderby-clause:

order bysort-list

orderby-clause
         ::= 'order by' sort-list

referenced by:



sort-list:

sort-expression,

sort-list
         ::= sort-expression ( ',' sort-expression )*

referenced by:



sort-expression:

namedirection

sort-expression
         ::= name direction

referenced by:



direction:

ascdesc

direction
         ::= ( 'asc' | 'desc' )?

referenced by:



comparison:

=>>=<<=eqgtgteltlte

comparison
         ::= '='
           | '>'
           | '>='
           | '<'
           | '<='
           | 'eq'
           | 'gt'
           | 'gte'
           | 'lt'
           | 'lte'

referenced by:



and:

and&&

and      ::= 'and'
           | '&&'

referenced by:



or:

or||

or       ::= 'or'
           | '||'

referenced by:



literal:

numberstring

literal  ::= number
           | string

referenced by:



column:

name

column   ::= name

referenced by:



name:

[A-Z][a-z][0-9]_-\.[A-Z][a-z][0-9]_-[name]

name     ::= [A-Za-z0-9_#x2D] [\.A-Za-z0-9_#x2D]*
           | '[' name ']'

referenced by:



string:

"[^"]"'[^']'

string   ::= '"' [^"]* '"'
           | "'" [^']* "'"

referenced by:



number:

+-[0-9].[0-9]eE-+[0-9]

number   ::= [+#x2D]? [0-9]* .? [0-9]+ ( [eE] [-+]? [0-9]+ )?

referenced by:




... generated by Railroad Diagram GeneratorRR