![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 62
sinat_28472983
这个作者很懒,什么都没留下…
展开
-
SQL: union all 包含重复数据但比union快
在数据库中,union和union all关键字都是将两个结果集合并为一个,union all 包含重复数据但比union快。 union:在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果,如果表数据量大的话可能会导致用磁盘进行排序。必须包含同样列数、顺序、数据类型union all:简单将结果合并后返回,包含重复数据。 ...原创 2018-08-06 15:04:39 · 2890 阅读 · 0 评论 -
PL/SQL——动态SQL & 游标
动态SQL1. 使用动态SQL可以在依赖对象不存在时创建子程序2. 动态SQL主要利用execute immediate语句执行DML、DDL、DCL等语句操作3. 如果使用了绑定变量,则必须在execute immediate中使用using字句设置所需要的绑定变量4. 使用returning或return语句可以接收查询或更新后的返回结果4. 使用批处理可以一次性将数据库之...原创 2018-11-06 10:57:51 · 308 阅读 · 0 评论 -
oracle——connect by level
connect by 层级查询用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询 语法格式: { CONNECT BY [ NOCYCLE ] condition [AND condition]... [ START WITH condition ] | START WITH condition CONNECT BY [ NOCYCLE ] condition...转载 2018-11-02 15:19:55 · 1453 阅读 · 0 评论 -
Oracle——高级排序函数 & 高级分组函数
高级排序函数[ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx)1.row_number() 连续且递增的数字 1 2 3 4 row_number() over (partition by xx order by xx ) --学生表中按照所在专业分组,同专业内按成绩倒序排序,成绩相同...转载 2018-11-13 10:47:14 · 242 阅读 · 0 评论 -
Oracle——分析函数
目录 基本语法求部门工资的累加查询每个部门最高工资和最低工资按工资排序并创建序号 基本语法函数名称([参数,...]) over (partition by 子句 字段,...[order by 子句 字段,... [ASC|DESC] [NULLS FIRST|NULLS LAST][WINDOWING 子句]);函数名称:类似于统计函数(COUNT...原创 2018-08-30 17:18:38 · 164 阅读 · 0 评论 -
Oracle执行计划——查看执行计划的方法
(1)什么是执行计划SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划。Oracle必须做出选择,一次只能有一种访问路径。执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。(2)执行计划的选择通常一条SQL有多个执行计划,那我们如何选择?那种执行开销更低,就意味着性能更好,速度更快,我们就选哪一种,这个过程叫做Oracle的解析过程,然后...转载 2018-09-12 17:17:43 · 73700 阅读 · 2 评论 -
Oracle正则表达式
元字符 字符含义 举例说明 ^ 匹配字符串的开始位置(在[]中使用,此时它表示不接受该字符集合。 ^a:匹配以a开始的字符串 [^a]:匹配不含a的字符串 - 当使用在a-m表示范围; 当使用在第一个字符时表示 连字符...转载 2018-09-11 20:13:41 · 2604 阅读 · 0 评论 -
Oracle行列转换汇总
1.行转列:pivot 、case when 或 decode **informatica normalizer transformation也可以实现行列转换** pivot(聚合函数 for 列名 in(类型)): pivot ( sum ( planqty ) for plantype in ( 'in', 'out' ) ) --有聚合函数 unp...原创 2018-09-11 20:22:52 · 5862 阅读 · 1 评论 -
* Oracle执行计划——表连接方式&oracle访问数据方式
1. 全表扫描:指oracle在访问目标表里的数据时,会从该表所占用的第一个区(EXTENT)的第一个块(BLOCK)开始扫描,一直扫描到该表的高水位线(HWM, High Water Mark),这段范围内所有的数据块oracle都必须读到(高水位线会随分配给表的现有空间不足而向上移动;但delete后高水位线不会随之向下移动,就算delete所有数据,高水位线还是在原来的位置)2. R...原创 2018-09-12 17:14:32 · 655 阅读 · 0 评论 -
oracle中delete、truncate、drop的区别
一、delete1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。3...转载 2018-09-27 18:23:09 · 445 阅读 · 0 评论 -
In、or、exists、not in、not exists
目录in和or:没有索引或主键时,随数据量增多,or性能急剧下降in和exists:主表小、子表大用exists;主表大、子表小用innot in和not exists:无论哪个表大,not exists都比not in快in和or:没有索引或主键时,随数据量增多,or性能急剧下降前提条件:所在的列是否有索引或者主键。in和or所在列有索引或主键:or和in没啥差别,执行计...转载 2018-11-22 18:03:18 · 479 阅读 · 0 评论