网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  灵活应用oracle数据查询时经常用到的关联     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:117次  录入:管理员--2008-03-03  
 

关联在oracle数据查询时会经常用到,灵活的应用关联可以解决很多实际应用的问题.下面给出一些示例:

建表

create table ab
(
ab_id  number(5),
ab_name varchar2(30)
);

create table bb
(
bb_id  number(5),
bb_name varchar2(30)
);

插入数据

insert into ab(ab_id,ab_name) values(1,'1ab_name');
insert into ab(ab_id,ab_name) values(2,'2ab_name');
insert into ab(ab_id,ab_name) values(3,'3ab_name');

insert into bb(bb_id,bb_name) values(1,'1bb_name');
insert into bb(bb_id,bb_name) values(2,'2bb_name');
insert into bb(bb_id,bb_name) values(4,'4bb_name');
insert into bb(bb_id,bb_name) values(6,'6bb_name');

等值关联(全关联)

select a.ab_id,a.ab_name,b.bb_name from ab a,
              bb b
where a.ab_id=b.bb_id;

返回结果

ab_id ab_name bb_name
1 1ab_name 1bb_name
2 2ab_name 2bb_name

返回两个表中所有能匹配的记录,不能匹配的记录不返回。

左关联

select ab_id,ab_name, bb_name 
from ab a left join  bb b
on a.ab_id=b.bb_id;
同
select ab_id,ab_name, bb_name 
from ab a , bb b
where a.ab_id=b.bb_id(+);

返回结果

ab_id ab_name bb_name
1 1ab_name 1bb_name
2 2ab_name 2bb_name
3 3ab_name

返回左边表的左右记录,在右边表中没有对应记录的右表字段显示为空。

右关联

select ab_id,ab_name, bb_name 
from ab a right join  bb b
on a.ab_id=b.bb_id;
同
select ab_id,ab_name, bb_name 
from ab a , bb b
where a.ab_id(+)=b.bb_id;

返回结果:

ab_id ab_name bb_name
1 1ab_name 1bb_name
2 2ab_name 2bb_name
4bb_name
6bb_name

返回右边表中所有的记录,在右边表不能匹配的记录行上,左边表对应的字段显示为空。

完全外关联

select ab_id,ab_name, bb_name 
from ab a full join  bb b
on a.ab_id=b.bb_id;

返回结果

ab_id ab_name bb_name
1 1ab_name 1bb_name
2 2ab_name 2bb_name
3 3ab_name 
6bb_name
4bb_name

返回两个表所有的结果,如果在关联条件上没有对应的记录,那么将在该列上显示为空。

全关联返回的结果集范围最小。完全外关联返回的结果范围最大,是否左关联和右关联并集;全关联是左关联和右关联的交集。

 
 
上一篇: 将移动数据文件到其它目录下的实用方法    下一篇: 对系统默认的约束名和索引名进行重命名
  相关文档
轻松了解Oracle的表快照特征 09-29
Oracle数据库删除两表中相同数据的方法 06-10
oracle数据库等待事件说明及处理方法 (1) 04-16
教你快速掌握如何使用"opatch"打补丁 03-10
细化解析:Oracle数据库后台进程的功能 09-01
oracle 9i与10g中plan_table的不同 02-29
oracle数据库中使用rman建立data guard (1) 05-14
理解物化视图刷新过程中出现的约束冲突 06-10
怎样才能提高oracle 10g增量备份速度 04-09
教你在Oracle中实现SELECT TOP N的方法 06-03
如何正确的使用or展开来改写sql查询 03-26
轻松掌握oracle数据库where条件执行顺序 04-21
带你深入了解oracle跟踪事件:set events 07-24
用三个方法设置oracle数据库穿越防火墙 04-17
oracle10g r2 emca常用命令及实例步骤 07-25
将移动数据文件到其它目录下的实用方法 03-03
详细讲述Oracle中的to_date参数含义 05-27
实例讲解ora-12514和ora-12514解决方法 04-15
Oracle数据库 ASM功能方法的说明 09-29
解决JOB的Interval输入参数过长的问题 06-03
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息