SQL中的union

在SQL中,如果我们查询一个班级的考试成绩数据,再统计考试成绩的总和,我们使用以下两条语句:

select StudentName,Grade from Student
select ‘总成绩‘,SUM(Grade)from Student

执行此两条代码,结果会分别显示在两个表中,我们该如何使两条数据整合在一起?这就用到了union集合运算符,union对两个集合进行操作,两个集合需要有相同的列名,两个集合的列类型应该是相符的,最终列名以第一个集合列名为准。

我们上面的代码片段恰好符合合并的要求,我们只需要在其之间添加union即可

select StudentName,Grade from Student
union
select ‘总成绩‘,SUM(Grade)from Student

除此之外还有一种联合方式为:union all

此联合方式效率更高,因为它不会进行重复查询,而union会清除重复的多余项,相同的数据只会出现一次。

时间: 2024-08-15 03:53:37

SQL中的union的相关文章

Sql中的union和union all的讲解

SQL UNION 和 UNION ALL操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 假设我们有一个表Student,包括以下字段与数据: drop table student; create table student(id int primary key,name nvarchar2(50) not null,s

sql中的union,except及intersect

1.union: 使用union:组合两个结果表,消除重复的记录. 使用union all:组合两个结果表(重复不去重). 2.except: 使用except:在table1中但不在table2中的行,同时消除重复行. 使用except all:不消除重复行. 3.intersect: 获取两个结果集的并集. 版权声明:本文为博主原创文章,未经博主允许不得转载.

SQL中MINUS的用法

minus指令是运用在两个 SQL 语句上.它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中.如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现.如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃. MINUS 的语法如下: [SQL 语句 1] MINUS [SQL 语句 2] 我们继续使用一样的例子: Store_Information 表格 store_name  Sales  Date

LINQ to SQL 中 Concat、Union、Intersect、Except 方法的使用

?  前言 LINQ to SQL 中需要对两个或多个数据集进行操作,比如:合并.取交集等,主要使用下面四个方法,这四个方法都是 System.Linq.IQueryable<out T> 接口的扩展方法,并且都是延迟加载方法,下面是使用的简单示例. ?  示例数据,数据表:Subject(科目表).Score(成绩表) 1.   Concat() 方法 1)   方法声明 public static IQueryable<TSource> Concat<TSource>

SQL中union运算操作的理解

在SQL中,对于并运算,可以使用union关键字. 例如: SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 在学习过程中,我产生了一个疑问,如果两个表的属性名称不同会出现什么情况呢? 直接模拟了一个例子,构建代码如下: create table employee (empname char(6), numchildren int ) create table dependent

SQL中MINUS的用法与UNION的用法

一:MINUS指令 其是运用在两个 SQL 语句上.它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL语句的结果中.如果有的话,那第一个SQL结果数据就被去除,而不会在最后的结果中出现.如果第一个 SQL 语句所产生的结果并没有存在于第二个 SQL 语句所产生的结果内,那第一个SQL结果数据就被保留,会在最后的结果中出现.MINUS 的语法如下:[SQL 语句 1]MINUS[SQL 语句 2]举例:Store_Information 表格store_name  Sa

SQL语句中:UNION与UNION ALL的区别

UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1.UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 2.UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2] 效率:UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同. 1.对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union Al

SQL中使用WITH AS提高性能,使用公用表表达式(CTE)简化嵌套SQL

一.WITH AS的含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分. 特别对于UNION ALL比较有用.因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可.如果WITH AS短语所定

SQL中游标(二)

游标是SQL数据库中不可或缺的部分,可以旋转储存在系统永久表中的数据行的副本,下面就将为您详解游标的使用,以及语法,供您参考学习. MS-SQL的游标是一种临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存在系统永久表中的数据行的指针. 游标为您提供了在逐行的基础上而不是一次处理整个结果集为基础的操作表中数据的方法. 1.如何使用游标 1)    定义游标语句 Declare <游标名> Cursor For 2)    创建游标语句 Open <游标名&g