美文网首页
Oracle中union all小例

Oracle中union all小例

作者: 是阿离 | 来源:发表于2017-08-10 22:37 被阅读0次

问题

想要将两个表中记录进行合并成一个表。
tableA中字段prov,city,ain,aout
tableB中字段prov.city,bin.bout
整合表tableC中字段prov,city,ain,aout.bin,bout

方案

使用union all:

CREATE TABLE tableC AS
SELECT A.PROV AS PROV,
       A.CITY AS CITY,
       A.IN   AS AIN,
       A.OUT  AS AOUT,
       0      AS BIN,
       0      AS BOUT
  FROM TABLEA A
UNION ALL
SELECT B.PROV AS PROV,
       B.CITY AS CITY,
       0      AS AIN,
       0      AS AOUT,
       B.IN   AS BIN,
       B.OUT  AS BOUT
  FROM TABLEB B

要注意的是,对于tableA中缺少的字段,要通过0来补充

TIPS

  • union all时,要保证顺序一致union all不会通过别名来调整顺序
  • 在对tableC进行查询时,要在分组后拿到SUM(ain)SUM(bin)不能同时为0的。
  • 通过HAVING SUM(ain) > 0 OR SUM(bin) > 0解决
    在HAVING语句中,可以使用ORAND操作
    分组前使用WHERE分组后使用HAVING

相关文章

  • Oracle中union all小例

    问题 想要将两个表中记录进行合并成一个表。tableA中字段prov,city,ain,aouttableB中字段...

  • union与union all

    union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有...

  • SQL union和union all操作符

    一、union和union all区别 union会去重,union all不会去重 二、SQL union操作符...

  • SQL [UNION]和[UNION ALL]用法

    原文链接:SQL UNION和UNION ALL用法 一、概述 union和union all都用于合并多个查询,...

  • union比union all区别

    union去重并排序,union all直接返回合并的结果,不去重也不排序;union all比union性能好;

  • 左连接(left join) 右连接(right join) 内

    左连接 右连接 内连接 注意:在mysql中没有全连接 UNION和UNION ALL

  • SQL面试题,快问快答!

    1. UNION ALL 与 UNION 的区别 UNION和UNION ALL关键字都是将两个结果集合并为一个。...

  • 杂项

    1.UNION与UNION ALL合并UNION将返回两个查询的结果并去除其中的重复部分,UNION ALL与UN...

  • Pyspark中的union算子

    Pyspark中的union算子的依赖类型竟然是窄依赖!sql中的union和union all是不一样的。uni...

  • 数据库查询

    一、union和union_all 1.union 和 union_all 将两个结果集合并在一起(可以查询不同的...

网友评论

      本文标题:Oracle中union all小例

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