`

Oracle中union和union all用法及区别

 
阅读更多

今天项目中sql语句使用到了union,在此总结一下union和union all的用法。

union可以将两个sql语句的查询结果合并起来,但前提是两个sql语句产生的结果的数据类型应该是一致的,否则这条sql语句是不对的。同时union所产生的结果是经过dinstinct的,也就是会去除重复的结果值。

而union all 也是将两个sql语句的查询结果合并起来,但是与union不同的是不会去除重复的结果值。

如下:

select count(*) from t_yh yh where yh.scbj=0

 查询结果为:76

select count(*) from t_fj fj where fj.scbj=0 

查询结果也为:76

综合以上两条sql语句,将第一条和第二条用union连接起来:

select count(*) from t_yh yh where yh.scbj=0
union
select count(*) from t_fj fj where fj.scbj=0 

 所产生的结果:

使用union all 将第一条和第二条连接起来:

select count(*) from t_yh yh where yh.scbj=0
union all
select count(*) from t_fj fj where fj.scbj=0 

所产生的结果:

 
 另外注意以下语句:

select count(*) from t_yh yh where yh.scbj=0
union
select max(fj.id) from t_fj fj where fj.scbj=0 

 这条语句是不正确的,因为数据类型不一致:



 所以要进行数据类型转换:

如下:

select count(*) from t_yh yh where yh.scbj=0
union
select to_number(max(fj.id)) from t_fj fj where fj.scbj=0 

 此时该条语句就可以正确执行了,执行结果:



 

 

  • 大小: 693 Bytes
  • 大小: 810 Bytes
  • 大小: 8.5 KB
  • 大小: 848 Bytes
分享到:
评论

相关推荐

    union all与order by用法

    union all与order by用法,并详细举例,oracle pl/sql

    5分钟了解MySQL5.7中union all用法的黑科技

    union all在MySQL5.6下的表现 Part1:MySQL5.6.25 [root@HE1 ~]# MySQL -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    4.2.1 UNION和UNION ALL 103 4.2.2 MINUS 106 4.2.3 INTERSECT 107 4.3 集合与空值 108 4.3.1 空值与非直观结果 108 4.3.2 集合运算中的空值行为 110 4.3.3 空值与GROUP BY和ORDER BY 112 4.3.4 空值与聚合...

    Oracle Database 11g初学者指南--详细书签版

    在过去的14年中,他与IanAbramson和MichaelCorey为OraclePress合著了一系列图书.Abbey在国际Oracle用户团体非常活跃,经常出席COLLABORATE、OraclecOpenWorld和区域性用户组会议.  Michael J.Corey是Ntirety...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的...

    Oracle8i_9i数据库基础

    §7.1.4 UNION,INTERSECT及MINUS 182 §7.2 创建复杂的视图 183 §7.2.1 分组视图 183 §7.2.2 合计视图 183 §7.2.3 组合视图 184 §7.3 家族树 184 §7.3.1 排除单一体和分枝 184 §7.3.2 遍历至根 185 §7.4 在...

    oracle 合并查询 事务 sql函数小知识学习

    而union all用法和union相似,但是不会取消重复行。 intersect 用来取两个结果的交集。 minus用来取两个结果的差集。 使员工scott的岗位,工资,补助与SMITH员工一样。(使用子查询修改数据) 代码如下: update emp...

    Java面试宝典2020修订版V1.0.1.doc

    15、union和union all有什么不同? 45 16、char、varchar2、varchar有什么区别? 45 17、Oracle和Mysql的区别? 46 18、Oracle语句有多少类型 46 19、oracle分页语句 47 20、从数据库中随机取50条 47 21、order by与...

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。。。。 充储过程--sql0.sql 分割字符串.txt 分布式查询.txt 分组排列进行更新.txt 别名.txt 动态SQL语句.txt ...unionall.txt

    程序员的SQL金典.rar

     本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析;详细讲解数据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函数...

    程序员的SQL金典6-8

     4.8.3 UNION ALL  4.8.4 联合结果集应用举例 第5章 函数  5.1 数学函数  5.1.1 求绝对值  5.1.2 求指数  5.1.3 求平方根  5.1.4 求随机数  5.1.5 舍入到最大整数  5.1.6 舍入到最小整数  5.1.7 四舍五入 ...

    程序员的SQL金典7-8

     4.8.3 UNION ALL  4.8.4 联合结果集应用举例 第5章 函数  5.1 数学函数  5.1.1 求绝对值  5.1.2 求指数  5.1.3 求平方根  5.1.4 求随机数  5.1.5 舍入到最大整数  5.1.6 舍入到最小整数  5.1.7 四舍五入 ...

    程序员的SQL金典3-8

     4.8.3 UNION ALL  4.8.4 联合结果集应用举例 第5章 函数  5.1 数学函数  5.1.1 求绝对值  5.1.2 求指数  5.1.3 求平方根  5.1.4 求随机数  5.1.5 舍入到最大整数  5.1.6 舍入到最小整数  5.1.7 四舍五入 ...

    程序员的SQL金典4-8

     4.8.3 UNION ALL  4.8.4 联合结果集应用举例 第5章 函数  5.1 数学函数  5.1.1 求绝对值  5.1.2 求指数  5.1.3 求平方根  5.1.4 求随机数  5.1.5 舍入到最大整数  5.1.6 舍入到最小整数  5.1.7 四舍五入 ...

    数据库基础

    §7.1.4 UNION,INTERSECT及MINUS 182 §7.2 创建复杂的视图 183 §7.2.1 分组视图 183 §7.2.2 合计视图 183 §7.2.3 组合视图 184 §7.3 家族树 184 §7.3.1 排除单一体和分枝 184 §7.3.2 遍历至根 185 §7.4 在...

    经典全面的SQL语句大全

     UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1...

    经典SQL语句大全

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

    数据库操作语句大全(sql)

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

    sql经典语句一部分

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

Global site tag (gtag.js) - Google Analytics