今天项目中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
此时该条语句就可以正确执行了,执行结果:
相关推荐
在 Oracle PL/SQL 中, UNION ALL 和 ORDER BY 的使用需要遵循一定的规则和限制。本文将详细介绍 UNION ALL 和 ORDER BY 的用法,并通过实例解释其应用场景。 UNION ALL 的用法 UNION ALL 用于合并两个或多个 ...
### Oracle Hints用法详解 Oracle Hints是Oracle数据库中一种非常实用的功能,它允许用户在SQL语句中提供优化器提示,以便更好地控制查询执行计划。这些提示可以帮助数据库优化器选择更有效的路径来执行查询,从而...
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: ...
此`HINT`用于替换复杂的WHERE子句中的OR逻辑为UNION ALL操作: ```sql SELECT /*+ USE_CONCAT */ * FROM BSEMPMS WHERE DPT_NO = 'TDC506' AND SEX = 'M'; ``` ### 16. /*+NO_EXPAND*/ 当WHERE子句包含IN列表或OR...
Oracle 中提供了多种 Group By 用法,包括 Rollup 和 Cube 等,使得数据的分组和统计更加灵活和强大。本文将详细介绍 Oracle 中 Group By 的多种用法,包括 Rollup 和 Cube 的原理和用法。 一、Rollup 用法 Rollup...
### Oracle中的Grouping功能详解 在Oracle数据库中,`GROUPING`函数被广泛应用于复杂的分组查询之中,尤其是在存储过程的开发中。本文将详细解释`GROUPING`函数的使用方法及其应用场景,并通过一个示例来帮助理解其...
Oracle 日期和时间处理是数据库管理系统中非常重要的一部分,本文汇总了 oracle 中日期和时间处理的各种函数和使用方法,并提供了实例供参考。 一、日期和字符转换函数 Oracle 中日期和字符转换函数主要有两个:...
在实际应用中,通常情况下,使用union all拼接所有结果集,union也会拼接所有结果,但会去除重复。mapper配置实现中,需要设置parameterType为java.util.List,然后使用foreach循环插入数据。 需要注意的是,使用...
本文主要探讨Oracle中的日期时间函数,特别是`TO_DATE`和`TO_CHAR`这两个常用函数的用法。 首先,`TO_DATE`函数用于将字符串转换为日期格式。在Oracle中,日期的表示方式有很多种,例如: - 天:可以是数字(dd)...
在这个"oracle查询语句实例"的压缩包中,你将找到一系列实用的查询示例,帮助你深入理解和熟练掌握Oracle SQL的用法。 1. **基础查询** - `SELECT`语句:用于从表中检索数据,基本格式是`SELECT column1, column2 ...
总之,Oracle的`CONNECT_BY`和DB2的`WITH RECURSIVE`是两个数据库系统处理树形结构数据的重要工具,掌握它们的用法和优化策略,对于提升数据库开发和管理能力有着积极的影响。在实际工作中,我们需要根据具体需求和...
- **使用集合操作符**:理解并正确使用UNION, UNION ALL, INTERSECT 和 MINUS等操作符。 - **数据排序和过滤**:掌握ORDER BY子句的使用来对数据进行排序,以及使用WHERE子句来筛选数据。 - **表连接的概念**:理解...
UNION 和 UNION ALL - **UNION**: 用于合并两个或多个 SELECT 语句的结果集,并且会自动去除结果中的重复行。如果两个 SELECT 语句中有重复的数据,则最终结果集中只会出现一次。 - **UNION ALL**: 类似于 UNION,...
Oracle数据库中的子查询是SQL...理解并熟练运用这些子查询和集合运算的技巧,能帮助你在Oracle数据库管理中更高效地进行数据查询和处理。在实际工作中,根据业务需求灵活组合使用这些操作,可以解决复杂的查询问题。
Oracle数据库中的分组函数是数据分析和报表生成的重要工具,它们允许我们对数据进行汇总和聚合。其中,`ROLLUP`函数是一种特殊的分组操作,它提供了多级分组的能力,可以生成汇总数据的不同层次,从最细粒度的分组到...
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中的行列转换也提供了多种方法,其中最为常用的是使用`CASE`语句和`PIVOT`操作。 ##### 1. 使用 `CASE` 语句 在Oracle中使用`CASE`语句的方式与SQLServer类似,但需要注意Oracle中`CASE`语句的写法有所不同...
而1Z0-071是Oracle公司认证专家(OCP)认证考试中的一门新科目,主要考察考生在11G和12C版本的Oracle数据库上使用SQL进行数据库操作的能力。考题整理部分涉及了多种SQL语句及其用法,包括查询、数据操作、权限角色等...
3. 集合操作:UNION, UNION ALL, INTERSECT, EXCEPT。 通过"Oracle入门教程大全",初学者可以逐步掌握Oracle数据库的基础知识,了解SQL*Plus的使用方法,并深入理解PL/SQL编程,为后续的数据库管理和开发工作打下...
### 超详细Oracle教程知识点总结 #### 一、引言 - **Oracle与SUN合并背景**:2009年,Oracle...通过以上知识点的梳理,读者可以全面了解Oracle数据库的相关知识,为实际工作中的数据库管理和应用开发奠定坚实的基础。