您的位置:首页 > 数据库 > Oracle

oracle with as 用法

2017-12-15 11:31 579 查看
With查询语句已with开头,相当于在查询之前先构建一个临时表,被指定的查询结果存与临时表中,之后便可多次使用它做进一步的分析和处理。

语法:
with _tempTable as (select * from table )
select  * from _tempTable


例子:
with _tempStudent as(
select * from t_student t where class = '初二3班'
)
select sex,count(1) nums from _tempStudent where sex = '男' and height > '170'
union all
select sex,count(1) nums from _tempStudent where sex = '女' and height > '160'


多个with as 用法 每个临时存量直接用 "," 隔开
with t1 as (
select * from student where name in('张三','李四')
),t2 as (
select * from student where name in('王五')
)
select * from t1
union
select * from t2


如果with as 有嵌套的情况, 多个with as,后面的as内部可以直接调用先声明的临时对象
with t1 as (
select * from student where name in('张三','李四')
),t2 as (
select * from t1 where name in('王五')
)
select * from t2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle with as