Oracle-单表合并列】的更多相关文章

Oracle单表的简单查询 查看表结构 desc emp; 查询所有列 Select * from emp; 查找所以部门编号(查指定的列) select deptnofrom emp; 查找编号不同的部门编号(去重) selectdistinct deptnofrom emp; 查找ename为SMITH的员工职位,工资,部门编号 select job,sal,deptnofrom emp t  where t.ename='SMITH'; 查找员工的年薪 NVL( string1, repl…
Oracle单表的复杂查询 select avg(sal),max(sal),deptnofrom empgroupby deptno; orderby deptno; 查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J? or job='manager')and enamelike'J%'; 按照部门号升序而雇员的工资降序排列 select *from emporderby deptnoasc , saldesc ; assum,enamefrom em…
Oracle单表去重 去重有两层含义,一:是记录完全一样.二:是符合一定条件的认为是重复. 根据表的数量,去重可划分为:单表去重和多表关联去重.   对于去重,一般最容易想到的是用distinct,而distinct只能对记录完全重复的记录保留一条. distinct使用的是二重循环的方式来去重的,如果数据量非常大的时候,会导致性能急剧下降. 我们前一篇文章已经给出了详解,你可以去查看 Oracle单表去重复(一)    下面是一个单表去重的测试,认为name字段相同的即为重复记录,要查询出一个…
表基本结构 合并列 select t.student,decode(t.java,'','','java') 科目, t.java from student t union select t.student,decode(t.c,'','','c') 科目, t.c from student t 输出结果…
去重有两层含义,一:是记录完全一样:二:是符合一定条件的认为是重复. 根据表的数量,去重可划分为:单表去重和多表关联去重.   对于去重,一般最容易想到的是用distinct,而distinct只能对记录完全重复的记录保留一条. distinct使用的是二重循环的方式来去重的,如果数据量非常大的时候,会导致性能急剧下降. 例如:select distinct 字段名 from 原表; 此应用案例,主要有删除表中的完全重复的记录: insert into 临时表 select distinct 字…
听了猫大师的课,对Oracle CBO又加深了一步理解: 单表选择率: selectivity=1/ndv*a4nulls ocard来自dba_tables.num_rows ndv 来自dba_tab_col_statistics中的num_distinct where 条件为 owner='' AND table_name='' and column_name='' a4nulls 来自dba_tab_col_statistics中的num_nulls where  条件为 owner='…
-- 单表查询 -- 查询表的所有数据, *代表所有 -- select * from [表名]; -- 查询表中指定字段的值 -- select [字段1], [字段2] ... from [表名]; -- 给查询结果中的字段使用别名 -- 在字段后面使用关键字 as ( 字段名 as "别名" ), -- as关键字可以省略不写, 别名中没有特殊符号的话, 双引号也可以不写 -- select [字段1] [空格] [别名], [字段2] as [别名] ... from [表名]…
不考虑硬件诸如内存,存储等硬件的限制. 一张表理论能存储多少条记录呢? 假设: 一个tablespace中包含1022个datafiles, 单个datafiles的最大是32G 假设每个block是16k,每个block中有160条记录, 每个表可以有(1024*1024)-1个分区表 那么一张表理论最大存储记录数约为: 1.一个表空间tablespace的最大值:datafile个数 × 单个datafile的大小 1022 × 32G  =32704 G 2.换算成k (32704 G *…
备份方案一: 1. 备份 create table [备份名] as select * from [表名]; 2. 恢复 truncate table org_group; insert into org_group select * from [备份名] ; 3. 说明 此种情况适用于,同一个数据库,需要备份某张表. 备份方案二: 1. 备份 oracle用户终端执行: exp [用户名]/[密码] tables=[表一],[表二] file=/home/oracle/table.dmp 2.…
CBO优化器是基于对当前经过特定测试的数据集中预期的行比率估计来计算基数的.此处的行数之比是一个数值,称为选择率(selectivity).得到选择率之后,将其与输入行数进行简单相乘既可得到基数. 在理解选择性之前,必须得对user_tab_col_statistics视图有一定了解: SQL> desc user_tab_col_statistics 名称                                      是否为空? 类型 -----------------------…