一. 定义
with A as (select * from class)
也就是将重复用到的大批量 的SQL语句,放到with as 中,加一个别名,在后面用到的时候就可以直接用。对于大批量的SQL数据,起到优化的作用。
with子句的返回结果存到用户的临时表空间中,只做一次查询,反复使用,提高效率。
二. 用法
- with子句只能被select查询块引用
- 在同级select前有多个查询定义的时候,第1个用with,后面的不用with,并且用逗号隔开。
- 最后一个with 子句与下面的查询之间不能有逗号,只通过右括号分割,with 子句的查询必须用括号括起来。
-- 针对一个别名
-- –相当于建了个e临时表
with e as (select * from scott.emp e where e.empno=7499)
select * from e;
-- –针对多个别名,相当于建了e、d临时表
with
e as (select * from scott.emp),
d as (select * from scott.dept
SQL中with子句的定义、用法与解析

最低0.47元/天 解锁文章
1774

被折叠的 条评论
为什么被折叠?



