SQL Union和SQL Union All用法

本文详细介绍了SQL语言中Union和UnionAll的操作符用法,包括语法格式、使用场景及两者之间的区别。通过具体示例展示了如何利用这些操作符合并多个SELECT语句的结果集。
SQL Union和SQL 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 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL。

SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。union只是将两个结果联结起来一起显示,并不是联结两个表………… UNION 的语法如下:

[SQL 语句 1]
UNION
[SQL 语句 2] 假设我们有以下的两个表格,

Store_Information 表格
[table]
|store_name Sales Date
|
|Los Angeles $1500 Jan-05-1999
|
|San Diego $250 Jan-07-1999
|
|Los Angeles $300 Jan-08-1999
|
|Boston $700 Jan-08-1999|
[/table][table]
|Internet Sales 表格
|
|Date Sales
|
|Jan-07-1999 $250
|
|Jan-10-1999 $535
|
|Jan-11-1999 $320
|
|Jan-12-1999 $750|
[/table]而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales 结果:

[table]
|Date
|
|Jan-05-1999
|
|Jan-07-1999
|
|Jan-08-1999
|
|Jan-10-1999
|
|Jan-11-1999
|
|Jan-12-1999|
[/table]有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 "SELECT DISTINCT Date" 的话,那我们会得到完全一样的结果。

SQL Union All
UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和 UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。 UNION ALL 的语法如下: [SQL 语句 1]
UNION ALL
[SQL 语句 2] 我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同。同样假设我们有以下两个表格,

Store_Information 表格
[table]
|store_name Sales Date
|
|Los Angeles $1500 Jan-05-1999
|
|San Diego $250 Jan-07-1999
|
|Los Angeles $300 Jan-08-1999
|
|Boston $700 Jan-08-1999|
[/table]Internet Sales 表格
[table]
|Date Sales
|
|Jan-07-1999 $250
|
|Jan-10-1999 $535
|
|Jan-11-1999 $320
|
|Jan-12-1999 $750|
[/table]而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales 结果:

[table]
|Date
|
|Jan-05-1999
|
|Jan-07-1999
|
|Jan-08-1999
|
|Jan-08-1999
|
|Jan-07-1999
|
|Jan-10-1999
|
|Jan-11-1999
|
|Jan-12-1999|
[/table]
[url]http://www.cnblogs.com/fxgachiever/archive/2010/09/10/1823057.html[/url]转
【无人机】基于改进粒子群算法的无人机路径规划研究[遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值