2016 - 2024

感恩一路有你

oracle中case when用法 oracle with as区别和用法?

浏览量:1926 时间:2021-03-14 19:20:01 作者:admin

oracle with as区别和用法?

With as 就是将一个子查询的结果作为一张临时表,下面接着写select语句可以通过别名直接使用


语法:

针对一个别名

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

为什么传统行业几乎都用Oracle,而互联网行业几乎都不用Oracle呢?

首先银行要求绝对稳定性,使用付费不开源产品可以完全责任委托,而且数据库厂商还会有专门维护,省心,省力,安全。

mysql呢,开源产品,稳定性没有o高,如果要深度开发倒是很省事,不过使用mysql就完全要看自己了,银行不会为了一个随时都有可能出现意外的定时炸弹找专门团队维护,而且银行交易量很大,但并非像互联网应用一样超级并发,大部分都是内部接口使用,而且分地区都是不同的服务器,每个地区只存储自己相关的数据,比如你从广东给山东异地转账,原始山东账户里并不存你的记录,转了之后山东数据库才有记录,在依赖oracle商业委托的基础下,银行还会有对账,来保证数据一致性。

但是反观互联网企业就不一样了,超级并发,小型机已经不满足这种并发条件了,哪怕oracle足够优秀,所以要使用应对更高并发特制的mysql,需要有专业的团队进行维护,稳定性不如oracle,不过分布式集群可以避免这种情况。而且mysql因为开源还可以针对自己的需求特制功能。不过大部分企业用不上[捂脸],小公司用啥都一样。阿里重新开发mysql除了自己用外还可以卖服务。

再说一句,阿里其实弃o选m其实除了并发问题,还因为oracle太贵,因为企业要考虑收支,就算阿里利润率也比不上银行[灵光一闪]

oracle中case when用法 oracle if判断 oracle的with as写法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。