`

Union使用

SQL 
阅读更多
	select  subjectRecordNo   as  subjectRecordNo                                       
		, CIP_subjectName     as      subjectName                                          
		, CIP_subjectRemark   as      subjectRemark                                        
		, CIP_englishName     as      englishName                                          
		, CIP_sortNo          as      sortNo                                               
		, CIP_isSubject       as      isSubject                                               
	    from cip_subjectWord 
	    where  CIP_subjectName like '丰收瓜'
		or subjectRecordNo in (
		select subjectRecordNo  from cip_subjectWord_contact
		where CIP_contactSign='D'
		and CIP_contactWord='丰收瓜'
		)  

 上面的程序不能正常执行,占内存,TOAD会死掉.改为下面的语句会好很多,

		select  subjectRecordNo   as  subjectRecordNo                                       
		, CIP_subjectName     as      subjectName                                          
		, CIP_subjectRemark   as      subjectRemark                                        
		, CIP_englishName     as      englishName                                          
		, CIP_sortNo          as      sortNo                                               
		, CIP_isSubject       as      isSubject                                               
	    from cip_subjectWord 
	    where  CIP_subjectName like '菜青梨'
		union all
		select subjectRecordNo   as  subjectRecordNo                                       
		, CIP_subjectName     as      subjectName                                          
		, CIP_subjectRemark   as      subjectRemark                                        
		, CIP_englishName     as      englishName                                          
		, CIP_sortNo          as      sortNo                                               
		, CIP_isSubject       as      isSubject                                               
	    from cip_subjectWord 
	    where  subjectRecordNo in (
		select subjectRecordNo  from cip_subjectWord_contact
		where CIP_contactSign='D'
		and CIP_contactWord='菜青梨'
		) 

 

UNION 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你要的查询结果.

union  会排除重复的记录  
union  all  不会排除重复的记录  
union all 比union 速度快很多,建议在相同的情况下用 union all

注意:union用法中,两个select语句的字段类型匹配,而且字段个数要相同。

 

分享到:
评论

相关推荐

    SQL语句 UNION 和 UNION ALL 使用

    ### SQL语句 UNION 和 UNION ALL 使用详解 #### 一、SQL UNION 和 UNION ALL 的基本概念 **UNION** 和 **UNION ALL** 是 SQL 语言中用于合并两个或多个 SELECT 语句结果集的关键字。这两种操作符都可以帮助我们...

    union和struct混合使用C++源码

    本程序中定义了一个结构体,其成员有一个union,union中又定义了一个结构体,很好的体现了使用union的方法

    C++11中union的使用方法示例

    通过关键字union进行定义,一个union可以有多个数据成员。例如 union Token{ char cval; int ival; double dval; }; c++11中union除了继承c语言的数据共享内存之外,行为上越来越像一个类,比如成员默认是public...

    Informatica Union Transformation组件 详解

    Informatica Union Transformation 组件详解 Informatica Union Transformation 组件是 PowerCenter 的一个重要...但是,在使用 Union Transformation 时,需要遵守一定的规则和指导方针,以确保正确地使用该组件。

    union all与order by用法

    当我们使用 UNION ALL 合并多个 SELECT 语句的结果集时,如果我们想要对整个结果集进行排序,就需要使用 ORDER BY 子句。但是,需要注意的是,ORDER BY 子句只能在 UNION ALL 的最后一个子查询中使用,否则将会报错...

    MySQL中使用or、in与union all在查询命令下的效率对比

    在MySQL数据库中,进行数据查询时,我们经常需要使用到`OR`、`IN`和`UNION ALL`这些操作符。这些操作符在不同的场景下有不同的效率表现,但并不是像网络上普遍认为的那样,`UNION ALL`总是比`OR`和`IN`更快。实际上...

    MySQL中union和order by同时使用的实现方法

    MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明。首先看下面的t1表。 1、如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY。 SELECT * FROM ...

    systemverilog中struct和union的一种用法

    在以太网回环测试平台中,我们可以使用 struct 和 union 来实现对以太网帧的分离和提取。例如,在 driver 模块中,我们可以使用 Mem 来发送数据,而在数据产生模块中,我们可以使用 eth_frame 来生成以太网帧的各个...

    Sql中的UNION

    如果我们不使用`UNION`而是使用`UNION ALL`,那么结果集中可能会包含重复的日期。 #### 五、进阶使用技巧 - **排序结果**:可以通过添加`ORDER BY`子句对结果进行排序。 - **条件过滤**:可以使用`WHERE`子句对...

    oracle集合union、union all、intersect、minus

    在上面的示例中,我们使用 union 操作将两个查询结果合并成一个结果集。结果集中的每一行都是唯一的,没有重复行。 union all 操作 Union all 操作与 union 操作类似,但 union all 操作不会去除重复行。 union ...

    C++中union详解

    本文将详细介绍`union`的概念、特点、与结构体(struct)的区别以及如何在实际开发中有效使用`union`。 #### 二、什么是Union? **Union**是一种特殊的类,也是一种构造类型的数据结构。在一个**union**内可以定义多种...

    sql利用union all行转列

    2. **使用UNION ALL合并结果**:将这些子查询通过`UNION ALL`合并起来,形成一个新的结果集。 3. **添加外键关联**:通过主键或其他唯一标识符,将这些子查询结果关联起来,以确保行与行之间的正确匹配。 #### 示例...

    使用UNION ALL代替IF语句的合并处理案例

    本文探讨了在特定情况下使用`UNION ALL`代替`IF`语句进行合并处理的案例,强调了不恰当的合并处理可能导致的性能问题。 首先,我们来看两种处理方式: 1. 传统`IF`语句方法: 当需要根据条件选择查询不同表时,...

    sqlserver union

    2. **减少数据量**:避免在`UNION`中包含大量数据,尤其是在不需要去除重复值的情况下使用`UNION`。 3. **考虑使用JOIN**:有时,`JOIN`操作可能比`UNION`更适合处理数据,特别是当合并的数据来自同一表或需要关联...

    UNION ALL 的使用方法

    SELECT ... UNION ALL SELECT C.TRD_NO FROM XXXXXXXXX C WHERE C.CLIENT_CD = W_IN_CLIENT_CD ) D WHERE A.TRD_NO = D.TRD_NO AND A.CLIENT_CD = W_IN_CLIENT_CD AND A.RESULT IS NULL ;

    Sql中的UNION ALL

    #### UNION ALL 的使用方法 `UNION ALL`的基本语法格式如下: ```sql (SELECT column_name(s) FROM table1) UNION ALL (SELECT column_name(s) FROM table2); ``` 这里的关键在于两个`SELECT`语句必须拥有相同...

    Mssql Union 与 Union All区别,用union还是union all主要看业务需求.docx

    在决定使用`UNION`还是`UNION ALL`时,主要考虑以下因素: - **数据去重需求**:如果业务需求要求结果集不包含重复行,则选择`UNION`。例如,在统计唯一用户时。 - **性能**:如果不需要去重且数据量大,为了提高...

    数据库中union和union all的区别

    为了使用 UNION,所有的 SELECT 语句必须具有相同数量的列,并且对应列的数据类型要兼容。这是因为数据库系统需要在比较和去重时对列进行匹配。UNION 的这一特性使得它在处理不需要重复数据的场景下特别有用,但同时...

    27.Oracle union多表查询1

    - 在处理大量数据时,务必谨慎使用 `UNION` 和 `UNION ALL`,因为它们可能导致大量的临时表空间使用,从而影响性能。 综上所述,`UNION` 和 `UNION ALL` 是在 Oracle SQL 中合并多个查询结果的关键工具,它们各有...

Global site tag (gtag.js) - Google Analytics