zoukankan      html  css  js  c++  java
  • [转]Oracle数据关联查询

    来源:赛迪网    作者:Alizze

    关联在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

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

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

  • 相关阅读:
    ExtJs自学教程(1):从一切API开始
    集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery
    hdu2203 KMP水的问题
    Hibernate制图(两)——许多-于─关系映射
    FPGA 异步时钟处理方
    在Magento产品页面的使用jqZoom
    struts2基本介绍
    让你提前知道软件开发(45):第一印象的代码
    struts2 模型分配问题和延迟加载问题
    性能优化(一个)Hibernate 使用缓存(一个、两、查询)提高系统性能
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1350981.html
Copyright © 2011-2022 走看看