This page defines the formal grammar that is used by relational.
Ident literals are recognized by the regular expression:
( letter | '_')( letter | digit | '_')*
String literals String have the form
'x', where x is any sequence of any characters except
Reserved words and symbols, separated by a space
For the query
* - ∪ ∩ ÷ ⋈ ⧑ ⧒ ⧓ π σ ρ ➡ ( ) , - *
For the expression in the select
+ - * / > < >= <= == != and or not in **
Query := Ident Query := Query BinaryOp Query Query := (Query) Query := σ PYExprWithoutParenthesis (Query) | σ (PYExpr) (Query) Query := π FieldList (Query) Query := ρ RenameList (Query) FieldList := Ident | Ident , FieldList RenameList := Ident ➡ Ident | Ident ➡ Ident , RenameList BinaryOp := * | - | ∪ | ∩ | ÷ | ⋈ | ⧑ | ⧒ | ⧓
Note the double definition of the select. It means that if the selection expression contains parenthesis, then the entire expression must be enclosed in an extra set of parenthesis.