with as 用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了with as 用法相关的知识,希望对你有一定的参考价值。

参考技术A

WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。

with as 用法

–针对一个别名

with tmp as (select * from tb_name)

–针对多个别名

with

tmp as (select * from tb_name),

tmp2 as (select * from tb_name2),

tmp3 as (select * from tb_name3),

–相当于建了个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)

select * from e, d where e.deptno = d.deptno;

PL/SQL with as 用法。

声明了一次,后面可以重复利用不?还是只能用一次。看图片,我声明了一个temp,怎么后面用的时候提示 没有表??谢谢

两个条件放一起写啊,select count(1),count(case when topsap >=2 then 1 else null end ) from tmp,或者你前面那个with as重复写一遍加在第二句上 参考技术A 只能用一次 而且是紧跟着 with as的 既然是临时表我们就是临时用一下而已 你已经把你想要的 传给变量了 干嘛又写一次 你直接判断那个变量不就可以了吗?追问

我想要的是分条件的啊 第一次是直接选取, 第二次是ToSap>=2,像这样怎么办?

追答

with as 那就没办法这样用了 他是写在内存里的 读一遍就没有了 自动消失
不太明白你的需求 不好给你出主意 如果就你这样的方法的话 你可以在with as 里面就把数读出来
然后传给不同的变量 这样就比较好整

以上是关于with as 用法的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL with as 用法。

python with as用法

关于oracle with as用法

Python中with...as的用法

python with as的用法

python with as的用法