zoukankan      html  css  js  c++  java
  • oracle表关联应用 【转载】

    关联在oracle数据查询是用得最多得东西,灵活的应用可以解决很多实际应用的问题.下面给出一些示例:

    1. 建表 
      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');
    2. 等值关联(全关联)
      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
      返回两个表中所有能匹配的记录,不能匹配的记录不返回。
    3. 左关联
      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  
      返回左边表的左右记录,在右边表中没有对应记录的右表字段显示为空。
    4. 右关联
      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
      返回右边表中所有的记录,在右边表不能匹配的记录行上,左边表对应的字段显示为空。
    5. 完全外关联
      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
      返回两个表所有的结果,如果在关联条件上没有对应的记录,那么将在该列上显示为空。

      全关联返回的结果集范围最小。完全外关联返回的结果范围最大,是否左关联和右关联并集;全关联是左关联和右关联的交集。
  • 相关阅读:
    理解和应用队列机制
    Visual Studio for Mac第四预
    宇宙第一开发工具
    Visual Studio 2017
    Vue开源
    Redux 和 ngrx 创建更佳的 Angular 2
    Redis缓存用起来
    C#6
    spring声明式事务 同一类内方法调用事务失效
    Spring事务管理--多个ORM框架在使用时的情况分析
  • 原文地址:https://www.cnblogs.com/haibin168/p/1959185.html
Copyright © 2011-2022 走看看