
Oracle 高级查询
常飞梦
10年以上工作经验,8年以数据库管理、开发经验,对数据库优化和架构有比较深的了解。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oracle Rollup 和 Cube用法
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,原创 2012-12-19 15:47:30 · 1234 阅读 · 0 评论 -
Oracle EXTRACT()函数与to_char() 函数
EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression.The field you are extracting must be a field of the datetime_value_expr orinterval原创 2012-12-20 13:08:13 · 1408 阅读 · 0 评论 -
关于WMSYS.WM_CONCAT函数的用法(oracle 10g)
问题:今天新系统上线,发现一个包的函数的返回结果的一字段类型和测试环境不一样,导致应用程序上线后报错。WMSYS.WM_CONCAT 函数是行转列的方法,如下面不使用函数时的查询:SQL> Select AGENT_ID From fp_agentpolicy_dt Where POLICY_ID =140 and rownumAGENT_ID--------00113原创 2012-12-20 13:10:27 · 4822 阅读 · 0 评论 -
oracle分页查询
(一)实现分页及性能Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAM原创 2012-12-20 13:13:20 · 882 阅读 · 0 评论 -
oracle分析函数row_number() over()使用
row_number() over ([partition by col1] order by col2) ) as 别名表示根据col1分组,在分组内部根据 col2排序而这个“别名”的值就表示每组内部排序后的顺序编号(组内连续的唯一的),[partition by col1] 可省略。 以Scott/tiger登陆,以emp表为例。1、select deptno,ename,s原创 2012-12-20 13:05:24 · 915 阅读 · 0 评论 -
oracle递归START WITH...CONNECT BY PRIOR子句用法
connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with cond1 connect by cond2 where cond3;例:select * from classstart with parentid = 27362Connect by prior id = parentid简单原创 2013-01-25 16:49:17 · 1444 阅读 · 0 评论 -
Oracle 11g 新聚集函数listagg实现列转行
这是一个Oracle的列转行函数:LISTAGG() 示例代码:with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China'原创 2014-02-27 16:22:28 · 7047 阅读 · 1 评论 -
使用HASH技术进行排重优化的案例
create table test_key(pk varchar(32), key1 varchar(20), key2 varchar(20), key3 varchar(20), key4 varchar(20), key5 varchar(20), key6 varchar(20),转载 2014-03-12 10:42:53 · 1419 阅读 · 0 评论 -
动态 SQL、EXECUTE IMMEDIATE、using、into、returning
很多时候我们需要在存储过程中使用动态的SQL,要怎么用好动态SQL呢,怎样执行效率最高呢。下面来介绍一下,如何使用动态SQL操作数据库。在存储过程中执行一个简单的SQL语句使用下面的方法即可。DECLAREBEGIN /* 使用该方法来创建一个新数据表,但这方法需要当前用户具有创建表的权限。 */ EXECUTE IMMEDIATE 'create table test (data1 n原创 2017-06-06 17:21:52 · 3598 阅读 · 1 评论