oracle rollup和cube分析
rollup是对group by的扩展,会进行小计和合计,而cube包含rollup,是粒度更精细的小计和合计。当只有一个字段时,rollup和cube是一样的。 可用grouping对rollup和cube进行测试:0看;1不看[看表示列有显示,不看表示没有显示] ① rollup
oracle 集操作和exists、in的运用场景
1 集操作 定义:把多个sql的结果集,通过逻辑上的整合运算,拼在一起显示。 集操作缺省下都是按第一个查询的第一列升序排序,当然除了union all: minus:取差集,可用于
oracle约束学习(1)unique和check
有人说,没有索引, 拿什么来保证约束?姑且不论这话的对错,但约束的实现(除了not null),很多都是通过索引来快速定位约束的地方。unique约束会自动建立索引,pk也是。也因此,约束的很多问题总是和索引缠绵一起。 相关视图: dba_constraints &nbs
dbms_stats包的使用说明书
dbms_stats包下面一共有40多个存储过程. 对执行计划的生成非常重要。常见的有: 分析数据库(包括所有的用户对象和系统对象):gather_database_stats 分析用户所有的对象(包括表、索引、簇):gather_schema_stats 分析表:gather_table_stats 分析索引:gather_index_stats 删除数据库统计
oracle merge从9i到10g的增强
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 下面看个具体例子: hr@ORCL> select * from p; ID NAME ---------- ---------- 1 d 3 e 8 f hr@ORCL> select * from t; ID NAME ----------
oracle开发注意事项小结
1)统计信息里面,有两行和性能有关。 15 SQL*Net roundtrips to/from client 198 rows processed 第一行表示,从buffer cache到PGA的结果集的往返次数 第二行表示,访问到的数据块里面的行的个数 计算: SQL*Net roundtrips=[ rows processed/arraysize]+2,当且仅当,rows processed为0,则SQL*Net roundtrips等于1. 比如:15=[198/13]+2&
oracle函数之case和decode的用法区别及性能比较
在oracle世界,你可以使用: 1)case表达式 或者 2)decode函数 来实现逻辑判断。Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能。而CASE是9i以后提供的语法,这个语法更加的灵活,提供了IF THEN ELSE的功能。 case表达式
你也被to_date()函数欺骗了吗?
我们可以用to_date函数来构造自己想要的任何时间。当省略了HH,MI,SS时,oracle缺省置为0,即:取整到日。当省略了DD时,oracle缺省置为1,即:取整到月。当省略了MM时,oracle会取整到年吗?我们都会惯性的认为:会。然,非也!oracle不会取整到年,他会取整到当前月!! 下面我们来实验一下。 sys@ORCL> select to_date(\'2012-7-27 19:39:25\',\'yyyy-mm-dd hh24:mi:s
oracle的left join,right join和full join的一点介绍
以下是摘自oracle ocp9i文档: outer join syntax: 1)you use an outer join to also see rows that do not meet the join condition 2)the outer join operator is the plus sign(+) outer join restrictions: 1)the outer join operator can appear on only one side of the expression:the side that has information missing.it returns
图解oracle 之从客户端到服务端的sql追击
图2 图3 图4 图5 图6 补充图片:
oracle sql基础学习篇《一》
每个RDBMS都基于标准sql走出了属于自己的sql特色。oracle也不例外。现起,我们来学习oracle sql。 学习sql,于开发者,实现优秀的业务逻辑;于管理者,完成数据库的调优。 oracle sql可分: a)select b)DML:update,insert,delete,merge c)DDL:create,alter,drop d)DCL:grant,revoke e)TCL:commit,roolback,savepoint oracle 数据类型共有: &n
韩顺平玩转oracle之pl/sql听课笔记《三》
有些惭愧,距离第2次听课笔记远了。这一讲主要是关于函数,包,还有变量的解释。 1 函数和过程的区别 1)函数:返回特定值,通常是一个; 过程:执行特定操作 2)建立函数时: 在函数头须包含return子句 例如; return number is think_salary number(7,2) 在函数体也须包含return语句
韩顺平玩转oracle之pl/sql听课笔记《二》
这个是第25讲,主要关于块和过程的基础性了解。 1 最简单的块之一: set serveroutput on --打开输出选项,倘若为off,则put_line()就没有输出 begin dbms_output.put_line(\'hello\'); end; 注释:dbms_output是oracle提供的包。包内含过程和函数。put_line就是dbms_output的一个过程 最简单的块之二: declare v_ena
韩顺平玩转oracle之pl/sql听课笔记 《一》
要把程序做得有灵魂 By think 1 pl/sql是什么 过程,函数,触发器是pl/sql编写的。 过程,函数,触发器是在oracle的system表空间里面。 Pl/sql是非常强大的数据库过程化
有oracle特色的sql语句整理【第一季】
我们知道每个RDBMS在sql方面都会存在自己的特色。那么今天我们来看看oracle有啥特色值得我们来在 意。 特色1 : Oracle分析函数与开窗函数: 语法: FUNCTION_NAME (<argument>,<argument>...) OVER (<Partition-Clause><Order-by-Clause><Windowing Clause>) 例如: sum(sal) over (partition by