UNION 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你要的查询结果.
例如:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales
注意:union用法中,两个select语句的字段类型匹配,而且字段个数要相同,如上面的例子,在实际的软件开发过程,会遇到更复杂的情况,具体请看下面的例子
select '1' as type,FL_ID,FL_CODE,FL_CNAME,FLDA.FL_PARENTID from FLDA
WHERE ZT_ID=2006030002
union
select '2' as type,XM_ID,XM_CODE ,XM_CNAME ,FL_ID from XMDA
where exists (select * from (select FL_ID from FLDA WHERE ZT_ID=2006030002 ) a where XMDA.fl_id=a.fl_id)
order by type,FL_PARENTID ,FL_ID
这个句子的意思是将两个sql语句union查询出来,查询的条件就是看XMDA表中的FL_ID是否和主表FLDA里的FL_ID值相匹配,(也就是存在).
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
在查询中会遇到 UNION ALL,它的用法和union一样,只不过union含有distinct的功能,它会把两张表了重复的记录去掉,而union all不会,所以从效率上,union all 会高一点,但在实际中用到的并不是很多.
表头会用第一个连接块的字段。。。。。。。。。。
而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:
尽量使用union all,因为union需要进行排序,去除重复记录,效率低
分享到:
相关推荐
UNION ALL 用于合并两个或多个 SELECT 语句的结果集,使用方法是将每个 SELECT 语句用 UNION ALL 连接起来。例如: ```sql SELECT 'china' AS col_1, 'america' AS col_2, 'canada' AS col_3, -1 AS status FROM ...
在Oracle数据库中,`UNION` 和 `UNION ALL` 是两种用于合并多个查询结果集的方法,主要应用于多表查询。这两个操作符在处理数据时有着显著的区别。 1. **UNION 操作符** `UNION` 用于合并两个或多个`SELECT`语句的...
在本节中,我们将详细介绍 Oracle 中日期处理的各种方法和函数。 日期和时间格式 在 Oracle 中,日期和时间可以用多种格式表示。如: * `DD`:表示一天中的日期,范围从 01 到 31。 * `DY`:表示一天的缩写形式,...
在进行SQL优化的过程中,Oracle中的`HINT`是一种非常实用且强大的工具,它允许数据库管理员或开发者通过在SQL语句中添加注释的方式直接指导Oracle的优化器如何执行查询计划。这种方式可以有效地调整数据访问路径、...
本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from ...
在Oracle 11g及更高版本中,`LISTAGG`函数通常是最便捷和高效的选择,但对于旧版本或者特定需求,其他方法也有其适用价值。理解并掌握这些方法,有助于我们在实际工作中更有效地处理字符串聚合问题。
在Oracle数据库中,`ROW_NUMBER()`函数是一种窗口函数,主要用于为查询结果中的每一行分配一个唯一的序列号。这一特性使得它在处理分组数据时非常有用,尤其是在需要对数据进行排序并按特定顺序标记每行的情况下。 ...
本文将详细介绍如何使用SQL检测字段是否包含中文字符,以及Oracle中的`CONVERT`函数。 首先,我们要了解的是,中文字符通常不在ASCII字符集中,ASCII只包含了128个最基本的西文字符。因此,如果字段中的某个字符是...
### Oracle Hints用法详解 Oracle Hints是Oracle数据库中一种非常实用的功能,它允许用户在SQL语句中提供优化器提示,以便更好地控制查询执行计划。这些提示可以帮助数据库优化器选择更有效的路径来执行查询,从而...
Oracle数据库作为全球最广泛使用的数据库之一,其性能优化一直是数据库管理员(DBA)关注的重点。本文旨在探讨一种通过优化SQL语句执行过程来提高Oracle数据库性能的方法。 #### 二、SQL语句执行过程及其优化 在...
在Oracle中,可以利用子查询、连接(JOIN)、集合操作(UNION, INTERSECT, EXCEPT)以及窗口函数来处理复杂的查询需求。此外,PL/SQL是一种强大的过程式语言,可以编写存储过程、函数和触发器,实现更复杂的业务逻辑...
### Oracle 10g 数据导入到 Oracle 9i 解决方案 ...此外,还可以考虑使用更现代的方法和技术来进行数据库迁移,比如使用Oracle GoldenGate或者Oracle Data Pump等工具,以减少手工干预和提高效率。
本文将详细解释`GROUPING`函数的使用方法及其应用场景,并通过一个示例来帮助理解其工作原理。 #### 一、`GROUPING`函数简介 `GROUPING`函数主要用于标识列是否被包含在`GROUP BY`子句中。当某列未被`GROUP BY`...
5. **集合操作**:涵盖UNION、INTERSECT和EXCEPT等集合操作,以及JOIN(包括内连接、外连接和自连接)的概念和使用方法。 6. **子查询**:讲解如何使用子查询来嵌套SQL语句,实现更复杂的查询逻辑。 7. **分组与...
### Oracle关键字用法整合 #### 1. CONCAT **功能说明**:`CONCAT`用于连接两个或多个字符串。在Oracle中,可以使用`||`作为替代方式。 **示例**: ```sql SELECT CONCAT('%','') FROM dual; ``` 在示例中,由于`...
"Oracle 提高查询效率的方法" Oracle数据管理系统作为一个强大的关系型数据库管理系统,具有高效、可靠、可扩展的特点。但是,随着数据量的增加和复杂查询的增加,查询效率可能会下降。因此,提高查询效率是 ...
在Oracle数据库中,实现阶梯式累加是一种常见的需求,尤其在处理财务数据、员工薪资统计等场景时尤为突出。本文将详细介绍如何利用Oracle数据库特有的功能来实现阶梯式累加,并通过一个具体的示例来演示整个过程。 ...
本篇文章将详细介绍Oracle中实现多行记录合并的几种方法,包括使用SQL函数、集合操作以及自定义函数。 1. **使用SQL函数:** - **`LISTAGG()` 函数:** 这是Oracle 11g及以后版本引入的一个强大的聚合函数,专门...
3. **集合运算**:使用`UNION ALL`而非`UNION`,避免重复记录检查的开销。 **索引设计**: 1. **避免无谓的索引**:不要在高重复值的列上创建索引,因为这样可能无法有效加速查询。 2. **合理选择群集和非群集...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。本资源包"Oracle齐全"提供了全面的Oracle学习材料,涵盖了从基础到高级的所有主题,帮助用户深入理解和掌握Oracle数据库...