美文网首页
左连接、右连接与union操作符

左连接、右连接与union操作符

作者: 熊猫的雄 | 来源:发表于2018-09-01 16:03 被阅读0次
    图1 图2
    图3

    将图1和图2的表连接查询达到图3的效果

    create table R(
        id int primary key,
        R1 varchar(20)
    );
    --插入数据
    INSERT INTO R values(1,'holle');
    INSERT INTO R values(2,'world');
    create table B(
        id int primary key,
        R2 varchar(20)
    );
    --插入数据
    INSERT INTO B values(2,'java');
    INSERT INTO B values(3,'H5');
    
    select r.id, R1, nvl(b.r2,null) R2    --select1
    from R,B
    where R.id = B.id(+)
    UNION
    select b.id, NVL(r.r1,null) R1, R2   --select2
    from R,B
    where R.id(+) = B.id;
    

    创建了表R和B,插入了入如图中表的数据
    select1中使用了左连接查询,显示了两个表中id为1、2的两行数据,R2列中使用了nvl(v1,v2)函数(当v1为null时返回v2的值),本例中id=1时,因为R2数据不存在,返归null值在改位置显示
    select2中使用右连接查询,显示了id=2、3的数据,R1与上面的R2同理
    UNION操作符将select1的行与select2的数据所有行相加,并消除重复行,本例中消除了一行重复的id=2的行。

    相关文章

      网友评论

          本文标题:左连接、右连接与union操作符

          本文链接:https://www.haomeiwen.com/subject/ykbdwftx.html