query
: sourceClause letClause? queryInclusionClause* whereClause? returnClause? sortClause?
;
sourceClause
: singleSourceClause
| multipleSourceClause
;
singleSourceClause
: aliasedQuerySource
;
multipleSourceClause
: 'from' aliasedQuerySource (',' aliasedQuerySource)*
;