千家信息网

oracle with as 用法

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,With查询语句已with开头,相当于在查询之前先构建一个临时表,被指定的查询结果存与临时表中,之后便可多次使用它做进一步的分析和处理。语法:with _tempTable as (select *
千家信息网最后更新 2025年02月01日oracle with as 用法

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 allselect 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 t1union 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


0