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

ORACLE外连接

         今天开发过程中遇到了一个很麻烦的外连接的问题,到最后都没有找到很好的解决方法,最后只能用union all 实现了,虽然性能不比外连接,但至少拓展了外连接的局限性。 首先给出我测试用的三个表和数据(左右外连接道理是一样的,我只总结了左连接): KC21表: create table KC21
(
AKB020 VARCHAR2(14) not null,
AKC190 VARCHAR2(18) not null,
AAC001 VARCHAR2(20) not null
);
INSERT INTO KC21 (AKB020, AKC190, AAC001) VALUES('110', '266', '1302012062942');
INSERT INTO KC21 (AKB020, AKC190, AAC001) VALUES('456', '369', '1302012063210');
INSERT INTO KC21 (AKB020, AKC190, AAC001) VALUES('1000', '472', '1302012045811');
INSERT INTO KC21 (AKB020, AKC190, AAC001) VALUES('123', '335', '1302012063275');
KC24表:
create table KC24
(
AKB020 VARCHAR2(14) not null,
AKC190 VARCHAR2(18) not null,
AAE072 VARCHAR2(20) not null
);
insert into KC24 (AKB020, AKC190, AAE072)values ('110', '335', '2188038055');
insert into KC24 (AKB020, AKC190, AAE072)values ('11', '369', '2188038092');
insert into KC24 (AKB020, AKC190, AAE072)values ('1000', '472', '2188038197');
insert into KC24 (AKB020, AKC190, AAE072)values ('110', '339', '2188038058');
KB01表:
create table KB01
(
AKB020 VARCHAR2(14) not null,
AKB021 VARCHAR2(50)
);
insert into KB01 (AKB020, AKB021)values ('1000', '唐山实时测试医院');
insert into KB01 (AKB020, AKB021)values ('110', '唐山大医院A');
insert into KB01 (AKB020, AKB021)values ('123', '唐山大医院B');
insert into KB01 (AKB020, AKB021)values ('456', '唐山大医院C');
insert into KB01 (AKB020, AKB021)values ('11', '唐山大医院D');
oracle官方提供了两种方来实现外连接,一种是在from子句中使用left outer join/right outer join/full outer join,另外一种是
在where子句中使用大家都比较熟悉的符号“(+)”,这里我想写一下我对这两个方法的理解。
一、使用一个连接条件的外连接:

SQL> select * from kc21 left outer join kc24 on kc21.akb020=kc24.akb020;

AKB020 AKC190 AAC


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle SQL与ANSI SQL区别


Oracle SQL与ANSI SQL区别
相信大家都使用过SQL SERVER。今天给大家简单介绍一下Oracle SQL与ANSI SQL区别。其实,SQL SERVER与与ANSI SQL也有区别。
1、首先大家要明白什么是ANSI
ANSI:美国国家标准学会(American National Standards Institute)。当时,美国的许多企业和专业技术团体,已开始了标准化工作,但因彼 ......

[oracle 10g]命令行启动ORACLE服务及顺序

案例说明
为了节约系统资源,我们在练习oracle的电脑中经常会将oracle的各种服务设为手动的启动模式,有时为了方便期间不愿意打开服务管理窗口,因此特在此记录一下命令行启动方法。
我有两个例程:orcl--做目标数据库;test--做恢复目录数据库。
一般来说顺序如下:
C:\>net start oracleserviceorcl
OracleServic ......

oracle根据外键名查关联的表

1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号