Oracle数据查询时经常用到的关联

 我来答
机器1718
2022-11-08 · TA获得超过6821个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:159万
展开全部

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

  

   建表

  

  

  create table ab ( ab_id number( ) ab_name varchar ( ) ); create table bb ( bb_id number( ) bb_name varchar ( ) );

  

  

   插入数据

  

  

  insert into ab(ab_id ab_name) values( ab_name ); insert into ab(ab_id ab_name) values( ab_name ); insert into ab(ab_id ab_name) values( ab_name ); insert into bb(bb_id bb_name) values( bb_name ); insert into bb(bb_id bb_name) values( bb_name ); insert into bb(bb_id bb_name) values( bb_name ); insert into bb(bb_id bb_name) values( bb_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 ab_name bb_name ab_name bb_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 ab_name bb_name ab_name bb_name ab_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 ab_name bb_name ab_name bb_name bb_name bb_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 ab_name bb_name ab_name bb_name ab_name bb_name bb_name

  

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

  

lishixinzhi/Article/program/Oracle/201311/18919

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式