易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle中的Union、Union All、Intersect、Minus

众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。
  假设我们有一个表Student,包括以下字段与数据:
  drop table student;
  create table student
  (
  id int primary key,
  name nvarchar2(50) not null,
  score number not null
  );
  insert into student values(1,'Aaron',78);
  insert into student values(2,'Bill',76);
  insert into student values(3,'Cindy',89);
  insert into student values(4,'Damon',90);
  insert into student values(5,'Ella',73);
  insert into student values(6,'Frado',61);
  insert into student values(7,'Gill',99);
  insert into student values(8,'Hellen',56);
  insert into student values(9,'Ivan',93);
  insert into student values(10,'Jay',90);
  commit;
  Union和Union All的区别。
  select *
  from student
  where id < 4
  union
  select *
  from student
  where id > 2 and id < 6
  结果将是
  1    Aaron    78
  2    Bill    76
  3    Cindy    89
  4    Damon    90
  5    Ella    73
  如果换成Union All连接两个结果集,则返回结果是:
  1    Aaron    78
  2    Bill    76
  3    Cindy    89
  3    Cindy    89
  4    Damon    90
  5    Ella    73
  可以看到,Union和Union All的区别之一在于对重复结果的处理。
  接下来我们将两个子查询的顺序调整一下,改为
  --Union
  select *
  from student
  where id > 2 and id < 6
  union
  select *
  from student
  where id < 4
  看看执行结果是否和你期望的一致?
  --Union All
  select *
  from student
  where id > 2 and id < 6
  union all
  select *
  from student
  where id &l


相关文档:

查看Oracle执行计划的几种方法

查看Oracle执行计划的几种方法
一、通过PL/SQL Dev工具
    1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。
    2、先执行 EXPLAIN PLAN FOR   select * from tab ......

Oracle从非归档模式变成归档模式

http://www.cuijie.net.cn/?cat=6
更改数据库的归档模式需要重新启动数据库,在mount模式下修改,简要步骤
1   以shutdown immediate 方式关闭数据库
2  启动实例到mount状态
3  更改运行模式并打开数据库
操作步骤:
1   登录数据库查看数据库的归档状态
     S ......

oracle的正则表达式

目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。
Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成
的字符串等问题。
Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_L ......

ORACLE SQL语句优化


1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号