`

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 使用

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

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

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

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

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

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

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

    主要介绍了MySQL中使用or、in与union all在查询命令下的效率对比,论证了在通常情况下union all并不一定比or及in更快,需要的朋友可以参考下

    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 ;

    数据库中union和union all的区别

    因此,如果不需要去重的结果集,使用UNION ALL可能比UNION更高效。 当需要合并查询结果集并去除重复行时,使用UNION操作符;当需要合并结果集并保留所有行,包括重复的行时,使用UNION ALL操作符。根据具体的需求...

    union和union All的区别.md

    如果想要在 UNION 中使用 ORDER BY 对结果集进行排序,需要将 ORDER BY 子句放在最后一个查询语句的后面。这是因为 ORDER BY 对整个结果集进行排序,而最后一个查询的结果集是最终结果集的一部分,只有在最后一个...

    oracle的sql优化

     在不需要考虑重复记录合并时候用Union All来代替Union  使用显性游标而不使用隐性游标,特别是大数据量情况下隐性游标对性能影响很大  是否使用函数的问题  用直接的表关联来代替Exist.用Exist或Not Exists来...

    Mysql联合查询UNION和Order by同时使用报错问题的解决办法

    因此,常常出现这样的错误 代码如下:select * from [IND] where INDID>10unionselect * from [IND] where INDID<9>10 order by INDID descunionselect * from [IND] where INDID<9 order by INDID desc此时就出现...

    Mysql联合查询UNION和UNION ALL的使用介绍

    一、UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也...当 ALL 随 UNION 一起使用时(即 UNION ALL),不消

    Sql中的UNION ALL

    此资源为.txt文件,里面描述了sql中union all的使用方法和案例,如果需要可以下杂

    201903242053_vfed主题源码_union_使用教程_js22619com_源码

    vfed主题源码与使用教程,默认会自动添加到快捷菜单,如果没显示请点击快捷菜单配置,手动添加vfed主题设置/index.php/label/adminvfed采集资源/index.php/label/union

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

    我们可以经常发现在处理SQL Server的时,很多人都会有一句出结果的习惯,但值得注意的是,不恰当的合并处理语句,往往会产生负面的性能,本文针对使用UNION ALL代替IF语句的合并处理做出一个简单的事例,用来说明...

    sqlserver union

    sqlserver union学习材料,初学者适用

    MySQL中UNION与UNION ALL的基本使用方法

    在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算...

    unionfind实现最小生成树

    使用unionfind算法实现最小生成树算法。。。。。。。。。。。。。

    SQL语句中UNION子句的使用.pdf

    SQL语句中UNION子句的使用.pdf

    sqlserver Union和SQL Union All使用方法

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。...如果允许重复的值,请使用 UNION ALL。 SQL UNION ALL 语法SELECT

Global site tag (gtag.js) - Google Analytics