public static ExprDerivedTableValues As(this ExprTableValueConstructor valueConstructor, Alias alias, params ExprColumnName[] columns) => new ExprDerivedTableValues(valueConstructor, new ExprTableAlias(alias.BuildAliasExpression() ?? throw new SqExpressException("Derived Table Values has to have not empty alias")), columns);
protected DerivedTableBase(Alias alias = default) : base(BuildAlias(alias)) { }
public static ExprTableAlias TableAlias(Alias alias = default) => new ExprTableAlias(alias.BuildAliasExpression() ?? Alias.Auto.BuildAliasExpression() !);
public TempTableBase(string name, Alias alias = default) : base(new ExprTempTableName(name), BuildTableAlias(alias)) { }