SQL 中 Union 的使用示例

分类:编程技术 时间:2024-02-20 15:22 浏览:0 评论:0
0
小编给大家分享一个如何在SQL中使用Union的例子。希望您读完本文后有所收获。我们一起来讨论一下吧!

sql union有什么用?

SQL联合用法总结:

UNION运算符将多个SELECT语句的结果组合成一个结果集。

(1)使用UNION时必须满足以下条件:
A:所有查询必须具有相同的结构(即查询中列的数量和顺序必须相同) )。

B:对应列的数据类型可以不同,但​​必须兼容(所谓兼容是指两种类型之间可以进行隐式转换,隐式转换会报错无法执行)。您还可以使用显式转换为相同的数据类型。

(当数据类型不同时,根据数据类型优先规则确定结果数据类型s。如果类型相同但精度、小数位数或长度不同,则根据用于组合表达式的规则确定结果数据类型。相同的规则来确定结果)(参考MSDN:数据类型优先级)

C:如果是XML数据类型,则列必须是等效的(所有列必须键入为XML模式,或者无类型),如果有类型,则这些列必须被类型化为同一 XML 架构集合。

(2)UNION结果集
A:UNION后的结果集的列名与第一个SELECT语句的结果集的列名相同。来自另一个 SELECT 语句的结果集列名将被忽略。

B:UNION默认删除结果集中的重复记录。如果使用ALL关键字,则结果集中将保留所有记录(重复的记录将被保留)

(3)注意事项
A:Transact-SQL语句中可以使用多个UNION运算符

B:使用 UNION 运算符的每个 SELECT 语句不能包含自己的 ORDER BY 或 COMPUTE 子句。相反,您只能在最终组合结果集中(即最后一个 SELECT 语句之后)使用 ORDER BY 或 COMPUTE 子句。

C:可以使用 UNION 运算符在每个 SELECT 语句中使用 GROUP BY 和 HAVING 子句。

D:默认情况下,SQL Server 2005 从左到右计算包含 UNION 运算符的语句。您可以使用括号来指定计算顺序。

MSDN 示例如下

例如,以下语句是不等价的:

/* First陈述。 */ SELECT * FROM TableA UNION ALL ( SELECT * FROM TableB UNION SELECT * FROM TableC ) GO /* 第二条语句。 */ (SELECT * FROM TableA UNION ALL SELECT * FROM TableB ) UNION SELECT * FROM TableC) GO

看完这篇文章相信你对“Union使用示例”有了一定的了解in SQL》,如果您想了解更多相关知识,请e 关注行业信息渠道。感谢您的阅读!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > SQL 中 Union 的使用示例

用户评论