diff --git a/Druid_SQL_AST.md b/Druid_SQL_AST.md index ae51e24..bc02edf 100644 --- a/Druid_SQL_AST.md +++ b/Druid_SQL_AST.md @@ -114,6 +114,26 @@ class SQLWithSubqueryClause { } ``` +## 2.4 +```java +interface SQLSelectQuery extends SQLObject {} + +class SQLSelectQueryBlock implements SQLSelectQuery { + List selectList; + SQLTableSource from; + SQLExprTableSource into; + SQLExpr where; + SQLSelectGroupByClause groupBy; + SQLOrderBy orderBy; + SQLLimit limit; +} + +class SQLUnionQuery implements SQLSelectQuery { + SQLSelectQuery left; + SQLSelectQuery right; + SQLUnionOperator operator; // UNION/UNION_ALL/MINUS/INTERSECT +} +``` # 3. 怎样产生AST