with... as 是公用表表达式,可以理解为创建临时表,如: WITH cte AS(SELECT * FROM TABLE1) SELECT * FROM cte VIEW语句是真正的创建了一个对象,WITH...AS 公用表表达式不创建对象,只能被后随的SELECT语句使用