anchor.diff:  [[select_syntax]]
   === Syntax Description of SELECT
   
  +* with-clause
  +
  ++
  +With-clause, known as Common Table Expressions (CTEs) or subquery factoring clause, was introduced in the SQL-99 standard and has been implemented into Trafodion R2.1.
  +
  ++
  +The with-clause assigns an alias to a complex expression. The alias is treated like a temporary table or an inline view that lasts only for the duration of the query and can be referenced multiple times in the same query.
  +
  ++
  +By abstracting the complicated parts of the query into simpler, separate and logical blocks, and possibly materializing the results of these parts to avoid recomputing it multiple times, the with-clause has following advantages:
  +
  +** Simplifies complicated queries, increasing readability and reducing repeated references.
  +** Builds reusable units and decreases maintenance cost.
  +** Shortens response time and enhances performance of the query.
  +** Improves  compatibility with other systems which support with-clause as well.
  +
  +* cte-table-name
  ++
  +specifies the unique name of the CTE to be created, which is a valid SQL identifier with a maximum of 128 characters. Duplicate names are not allowed in a single with-clause.
  +
   * `"[" ANY _N_ "]" | "[" FIRST _N_ "]"`
   +
   specifies that _N_ rows are to be returned (assuming the table has at least _N_ rows and that the qualification
  
positive.code:    [access-clause ]
     [mode-clause]
  
  query-expr-and-order is:
      query-expr [order-by-clause] [access-clause] [mode-clause]
  
  
negative.code: ```
  SELECT sum(distinct a), avg(distinct b), sum(c) from T group by d;
  ```
  
  [[select_considerations_for_with-clause]]
  ==== Considerations for with-clause
  
  * Materialization of CTEs in temporary tables is not yet enabled by default. 
  
  * Trafodion only supports non-recursive common table expressions, which means with-clause cannot be self-referencing, but it can reference a previously defined CTE within the same with-clause.
  
  * The with-clause in Trafodion can be specified only once, at the beginning of a SELECT statement. INSERT, UPDATE, DELETE and CREATE VIEW statements are not supported yet.
  
  [[select_considerations_for_select_list]]
  ==== Considerations for Select List
  