SelectWithUnionQuery (children 1)
 ExpressionList (children 1)
  SelectQuery (children 4)
   ExpressionList (children 1)
    WithElement (children 1)
     Subquery (children 1)
      SelectWithUnionQuery (children 1)
       ExpressionList (children 2)
        SelectQuery (children 3)
         ExpressionList (children 2)
          Identifier name (alias root_name)
          Asterisk
         TablesInSelectQuery (children 1)
          TablesInSelectQueryElement (children 1)
           TableExpression (children 1)
            TableIdentifier department
         Function equals (children 1)
          ExpressionList (children 2)
           Identifier name
           Literal \'A\'
        SelectQuery (children 3)
         ExpressionList (children 2)
          Identifier sd.root_name
          QualifiedAsterisk (children 1)
           Identifier d
         TablesInSelectQuery (children 2)
          TablesInSelectQueryElement (children 1)
           TableExpression (children 1)
            TableIdentifier department (alias d)
          TablesInSelectQueryElement (children 2)
           TableExpression (children 1)
            TableIdentifier subdepartment (alias sd)
           TableJoin
         Function equals (children 1)
          ExpressionList (children 2)
           Identifier d.parent_department
           Identifier sd.id
   ExpressionList (children 1)
    Asterisk
   TablesInSelectQuery (children 1)
    TablesInSelectQueryElement (children 1)
     TableExpression (children 1)
      TableIdentifier subdepartment
   ExpressionList (children 1)
    OrderByElement (children 1)
     Identifier name
