SQL合并结果集

   假设有表(UserTB):


  1、Union(不允许重复)

?

1
2
3
4
5
6
7

SELECT  *
FROM    dbo.UserTB
WHERE   deptId IN ( 1, 3 )
UNION
SELECT  *
FROM    dbo.UserTB
WHERE   deptId IN ( 1, 2 )

  结果:


  2、Union All(允许重复)

?

1
2
3
4
5
6
7

SELECT  *
FROM    dbo.UserTB
WHERE   deptId IN ( 1, 3 )
UNION ALL
SELECT  *
FROM    dbo.UserTB
WHERE   deptId IN ( 1, 2 )

  结果:

时间: 2024-09-18 07:06:14

SQL合并结果集的相关文章

SQL查询结果集对注入的影响及利用

对于注入而言,错误提示是极其重要.所谓错误提示是指和正确页面不同的结果反馈,高手是很重视这个一点的,这对于注入点的精准判断至关重要.本问讨论下关于几类错误和他产生的原理,希望对读者有所帮助. 错误提示主要有逻辑错误和语法错误以及脚本运行错误三类. 一:逻辑错误 简单的例子是1=1 1=2这两个,1=1与1=2页面不同的原理是什么?以$sql = "select * from news where id=$_GET[id]"为例. select * from news where id=

SQL Server 2000集群服务器优缺点

由二台或更多物理上独立的服务器共同组成的"虚拟"服务器称之为集群服务器.一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理.一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器.如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任. 认为一个SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解.虽然这似乎很有用,但却是不正确的.这也意味着集束SQL Server不能真

MS SQL 合并结果集并求和

业务情景:有这样一张表:其中Id列为表主键,Name为用户名,State为记录的状态值,Note为状态的说明,方便阅读. 需求描述:需要查询出这样的结果:某个人某种状态的记录数,如:张三,待审核记录数,审核中记录数,审核通过记录数:大概像这样: 解决方案: 1.建表和初始化测试数据:  --1.建表语句 CREATE TABLE [dbo].[Content] ( [Id] [int] NULL, [Name] [nvarchar](50) NULL, [State] [int] NULL, [

SQL 合并多行记录的方法总汇_MsSql

SQL中合并多行记录的方法总汇: --1. 创建表,添加测试数据 CREATE TABLE tb(id int, [value] varchar(10)) INSERT tb SELECT 1, 'aa' UNION ALL SELECT 1, 'bb' UNION ALL SELECT 2, 'aaa' UNION ALL SELECT 2, 'bbb' UNION ALL SELECT 2, 'ccc' --SELECT * FROM tb /**//* id value ---------

SQL 合并多行记录的相同字段值_MsSql

1.从数据库中先查询符合条件的记录,存放于一个DataTable中,在使用c#等开始遍历这张表,利用DataRow中的主键,再去读取相应的符合条件的多条记录,合并这些第二次读取到的记录内容,返回给前面的这个DataRow数据行.这样做没有错,但是如果数据量大,我们可能面临无数次的打开断开数据库链接,速度效率将会很低. 2.从数据库中一次读取数据到一张表中返回并显示到UI层.说起来谁都想这么做,但是以前太笨,没有去研究这个,今天因为数据量较大的原因,让我不得不想些其他办法来提高点效率. Googl

SQL 合并多行记录的相同字段值

1.从数据库中先查询符合条件的记录,存放于一个DataTable中,在使用c#等开始遍历这张表,利用DataRow中的主键,再去读取相应的符合条件的多条记录,合并这些第二次读取到的记录内容,返回给前面的这个DataRow数据行.这样做没有错,但是如果数据量大,我们可能面临无数次的打开断开数据库链接,速度效率将会很低. 2.从数据库中一次读取数据到一张表中返回并显示到UI层.说起来谁都想这么做,但是以前太笨,没有去研究这个,今天因为数据量较大的原因,让我不得不想些其他办法来提高点效率. Googl

SQL 合并多行记录的方法总汇

SQL中合并多行记录的方法总汇: --1. 创建表,添加测试数据 CREATE TABLE tb(id int, [value] varchar(10)) INSERT tb SELECT 1, 'aa' UNION ALL SELECT 1, 'bb' UNION ALL SELECT 2, 'aaa' UNION ALL SELECT 2, 'bbb' UNION ALL SELECT 2, 'ccc' --SELECT * FROM tb /**//* id value ---------

SQL中键集游标选择执行计划的方式和影响因素

上次我们在<游标脚本性能问题解决与分析>讨论过动态游标的执行计划如何选择并且介绍了几种游标的基本知识.本文我们接着研究键集游标选择执行计划的方式和影响因素. 这这里我们通过一个简单的实验来对比测试并且说明结果. 准备如下测试环境: CREATE TABLE [dbo].[test_cursor]( [number] [int] IDENTITY(1,1) NOT NULL, [http://www.aliyun.com/zixun/aggregation/11696.html">

SQL Server BUG集之自定义函数与group by

server|函数 /**==** 1. 自定义函数用于group by时出错 **==**/--一个简单的函数create function f_str(@str sysname,@i int)returns char(1)as begin  return(substring(@str,@i,1)) endgo --下面是测试 --定义测试数据declare @t table(name sysname)insert into @t values('abcd') --有group by的情况,结