好处:
1) WITH AS存储过程中使用,声明了就一定要用,不然会报错.
2) 存储过程中如果有select 好像就一定得有into......3) 复杂的查询会产生很大的sql,with as语法显示一个个中间结果,显得有条理些,可读性提高
4) 前面的中间结果可以被语句中的select或后面的中间结果表引用,类似于一个范围仅限于本语句的临时表,在需要多次查询某中间结果时可以提升效率
例子:
with t as (select * from emp where depno=10)
select * from t where empno=xxx
再举个简单的例子
with a as (select * from test)
select * from a;
其实就是把一大堆重复用到的SQL语句放在with as 里面,取一个别名,后面的查询就可以用它
这样对于大批量的SQL语句起到一个优化的作用,而且清楚明了
是个临时存储,一般是在存储过程里使用的
可以做多个表的连接,结果集的连接查询