public override SqlNode Clone() { return(new SelectStatement() { Distinct = Distinct, FromClause = FromClause?.Clone() as FromClause, GroupByClause = GroupByClause?.Clone() as GroupByClause, HavingClause = HavingClause?.Clone() as HavingClause, OffsetLimitClause = OffsetLimitClause?.Clone() as OffsetLimitClause, OrderByClause = OrderByClause?.Clone() as OrderByClause, SelectElements = SelectElements?.Select(x => x.Clone() as SelectExpression).ToList(), WhereClause = WhereClause?.Clone() as WhereClause }); }