support alias, as and join