oracle with as内存,oracle中with as子句的用法小结(转)
with
as也叫做子查询部分,首先定义一个sql片段,该sql片段会被整个sql语句所用到,为了让sql语句的可读性更高些,作为提供数据的部分,也常常用在union等集合操作中。with
as最大的好处就是适当的提高代码可读性,而且如果with子句在后面要多次使用到,这可以大大的简化SQL。
关于with as子句的用法,下面两个例子看看就OK了:
-- 例子1
WITH dept_costs AS
(SELECT d.department_name, SUM(e.salary) AS dept_total
FROM employees e, departments d
WHERE e.department_id = d.department_id
GROUP BY d.department_name),
avg_cost AS
(SELECT SUM(dept_total) / COUNT(*) AS dept_avg FROM dept_costs)
SELECT *
FROM dept_costs
WHERE dept_total > (SELECT dept_avg FROM avg_cost)
ORDER BY department_name;
-- 例子2
WITH sql1 AS
(SELECT to_char(a) s_name FROM test_tempa),
sql2 AS
(SELECT to_char(b) s_name
FROM test_tempb
WHERE NOT EXISTS (SELECT s_name FROM sql1 WHERE rownum = 1))
SELECT *
FROM sql1
UNION ALL
SELECT *
FROM sql2
UNION ALL
SELECT 'no records'
FROM dual
WHERE NOT EXISTS (SELECT s_name FROM sql1 WHERE rownum = 1) AND NOT EXISTS (SELECT s_name
FROM sql2
WHERE rownum = 1);
在oracle数据库开发中有时候要对临时数据的一些处理,但是这些数据又不想放到table里面而且cursor的灵活性又不是很好。这个时候可以考虑with as。
with as是在内存中建立一个临时的table。可以对这个temp table里面的数据进行整理。
得到一个temp table就可以对table的记录进行操作了,例如求平均数。
还可以和现有的table进行查询。
由于with as是内存中的table所以还是比较快的。如果数据比较大的时候建议不要用with as这样的话变得很慢。
oracle with as内存,oracle中with as子句的用法小结(转)相关推荐
- oracle 在此 select 语句中缺少 into 子句,Go database/sql文档
No.1 文档概要 在Golang中使用SQL或类似SQL的数据库的惯用方法是通过 database/sql 包操作.它为面向行的数据库提供了轻量级的接口.这篇文章是关于如何使用它,最常见的参考. 为 ...
- oracle lms进程 内存,Oracle进程:LMS 进程与Oracle RAC
Oracle进程:LMS 进程与Oracle RAC LMS进程是Oracle RAC环境下非常重要的一个进程,关于这个进程的解释在不同文档中也有所不同. 在Oracle 9iR2的概念手册中这样介绍 ...
- oracle lms进程 内存,Oracle RAC 内存融合(Cache Fusion)
原标题:Oracle RAC 内存融合(Cache Fusion) 内存融合核心进程 LMS(Global Cache Service Process):这个进程负责完成GCS的大部分工作,它会维护G ...
- oracle数据库常驻内存,oracle如何让表常驻内存?
1.前言. 如题. 2.如何常驻内存 摘自:http://blog.163.com/ouyangjie0002/blog/static/190709248201161644658941/ ...
- oracle 更改启动内存,Oracle 11gR2修改内存参数后无法启动问题
Microsoft Windows [版本 6.1.7600] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\windows\system32>n ...
- oracle一体机诊断内存,Oracle内存诊断
--当前内存分配情况 select * from v$memory_dynamic_components order by current_size desc; ---总内存量建议 select * ...
- string类有可以调换方向的函数吗_C++中的string类的用法小结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- SpringMVC中@RequestMapping 6个基本用法小结
1)最基本的,方法级别上应用,例如: Java代码 @RequestMapping(value="/departments") public String simplePatt ...
- Spring mvc中@RequestMapping 6个基本用法小结
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 小结下spring mvc中的@RequestMapping的用法. 1)最基本的,方法级别上应用, ...
最新文章
- Linux拜拜!微软给WSL加入GPU支持,Windows终于迎来命令行包管理工具
- 线程五种状态(新建、就绪、运行、阻塞、死亡)
- php编程查错,盘点PHP编程常见失误
- Tomcat源码分析--转
- CERC2017 Gambling Guide,最短路变形,期望dp
- 1使用技巧_新版PubMed使用技巧1
- java异常不懂,看不懂的异常提示啊
- 变革,是领导者的特质
- fifa15服务器位置,《FIFA 15》系统菜单界面图文详解 各游戏模式详解
- C#.NET快速开发框架-企业版V4.0截图打包下载
- 2007以学习软件设计开始
- 网络人“时间都去哪儿了”
- Controller中servletFileUpload.parseRequest(request)解析为空
- webpack和 php配合,javascript - webpack和laravel-elixir-webpack的正确配合方式?
- Xshell免费版安装 常用连接linux工具
- 网页调用rm播放器代码 - 详细说明
- Avoiding 16 Common OpenGL Pitfalls(避免 16 个常见的 OpenGL 陷阱)
- ASP.NET Core 高级(一)【.NET 的开放 Web 接口 (OWIN)】
- Redis的常用应用场景
- HDFS基础知识(个人总结)
热门文章
- 桁架工业机器人编程_工业机器人之桁架机器人
- php中for循环控制讲解,PHP教程第九讲——PHP开发基础:PHP的循环控制语句
- python格式化输出 xz_Python——详解__str__, __repr__和__format__
- python win32模块详解_python模块:win32com用法详解
- 个人或者企业怎么进行app开发?开发一款APP应用大概须要多少钱?
- PHP buffer的机制
- [转] 微信小程序 页面跳转 传递参数
- 《C专家编程》第三章——分析C语言的声明
- jsp页面点击显示影藏div的一个方法
- c# 读取写入excel单元格基本操作