sql union all 语法

sql union all 语法
表名:table
字段:id  username ytime
需要实现的结果是:
查询1:
   select top 5 * from table where id>20 order by id asc
查询2:
   select top 5 * from table where id<20 order by id desc
并且再将查询1和查询2之和,再按照id的倒序。原以为:查询2好办,本来就倒序了,并且都小于20,所以这个不需要改动的。现在需要再将查询1进行一次排序就行了。
于是写了一个sql语句:
select * from (select top 5 * from table where id>20 order by id asc) order by id desc
union all
select top 5 * from table where id>20 order by id asc
运行的结果居然是:id>20的那5条记录没有倒序。

必须换种写法了:
select * from (select top 5 * from table where id>20 order by id asc
union all
select top 5 * from table where id>20 order by id asc) order by id desc

详细说明

union
union 命令用于从两个表中选取相关的信息,很类似 join 命令。不过,当使用 union 命令时,所有被选取的列的数据类型应该是相同的。

注释:如使用 union,那么只有不同的值会被选取。

sql statement 1 union sql statement 2
下面的例子中使用的原始表:
employees_china:
e_id e_name
01 zhang, hua
02 wang, wei
03 carter, thomas
04 yang, ming

employees_usa:
e_id e_name
01 adams, john
02 bush, george
03 carter, thomas
04 gates, bill

使用 union 命令
实例
列出所有在中国和美国的不同的雇员名:

select e_name from employees_china union select e_name from employees_usa
结果
e_name
zhang, hua
wang, wei
carter, thomas
yang, ming
adams, john
bush, george
gates, bill

注释:这个命令无法列出在中国和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。union 命令只会选取不同的值。

union all
union all 命令和 union 命令几乎是等效的,不过 union all 命令会列出所有的值。

sql statement 1 union all sql statement 2
使用 union all 命令
实例:
列出在中国和美国的所有的雇员:

select e_name from employees_china union all select e_name from employees_usa
结果
e_name
zhang, hua
wang, wei
carter, thomas
yang, ming
adams, john
bush, george
carter, thomas
gates, bill

时间: 2024-10-22 10:06:54

sql union all 语法的相关文章

SQL UNION 和 UNION ALL语法与实例

sql union 和 union all语法与实例 /* sql union 操作符 union 操作符用于合并两个或多个 select 语句的结果集. 请注意,union 内部的 select 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 select 语句中的列的顺序必须相同. sql union 语法 select column_name(s) from table_name1 union select column_name(s) from table_name2

SQL UNION 和 UNION ALL 操作符

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法 SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值.如果允许重复的

sqlserver Union和SQL Union All使用方法_MsSql

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值,即UNION是去了重

Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识_MsSql

关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意: 1.UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 2.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名. SQL UNION 语法(结果集没有重复值): 复制代码 代码如下: SELECT s FROM table1 UNION SELECT s FROM t

sql union sql union all用法 union union all效率

sql union  sql union all用法与实例教程以及,sql union union all效率 UNION 操作符用于合并两个或多个 SELECT 语句的结果集 UNION 组合多个表(或结果集)并将其作为单个结果集返回; UNION ALL 在结果中包含所有的行,包括重复行. 也就是说,使用UNION组合两个表时,将重复的记录删除:而使用UNION ALL组合两多个表时,不考虑结果集中是否存在重复记录,包括重复行. SQL UNION ALL 语法 SELECT column_

Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意: 1.UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 2.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名. SQL UNION 语法(结果集没有重复值): 复制代码 代码如下: SELECT s FROM table1 UNION SELECT s FROM t

sql union 语法与实例

sql union 语法与实例 sql union允许您结合的结果2个或更多台个人查询.联盟不同,它是由查询是相互独立的子查询从.联盟结合了这些个别选择输出,并列出作为一个单一的输出表中的一部分. SELECT column1, ... column_n FROM derived_table UNION [ALL] SELECT column1, ... column_n FROM derived_table union每个查询的SQL语句必须要有领域的结果相同数量的设置与类似的数据类型.此外,

sql Union和Union All的使用方法_数据库其它

UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类.另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT). union只是将两个结果联结起来一起显示,并不是联结两个表 UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 假设我们有以下的两个表格, Store_Information 表格 store_name Sales Date Los Angeles $1500 Jan-05-1999 S

SQL SERVER存储过程语法详解

SQL SERVER存储过程语法: Create PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ]