数据库如果必须组合两个或多个查询的结果集,并将每个查询返回的所有行显示为单个结果集,您使用哪个操作符?解决方法是使用联盟集合操作符。除了在MySQl中,set操作符联盟UNION ALL由DB2,Oracle,SQL Server和Postgre SQL等大多数数据库平台支持。

当使用UNION时,请记住在所有查询中列的顺序、编号和数据类型都应该相同。数据类型不必完全相同,但它们应该是兼容的。例如,CHAR和VARCHAR是兼容的数据类型。如果您想重新收集关于表、SQL数据库操作和编程的信息,那么SQL数据库为初学者在6天内学习SQL是伟大的复习课程。如果您需要进一步了解编写SQL查询并学习如何构建应用程序或生成业务报告,请参阅SQL培训简介

联盟和联盟之间的比较

联盟

union命令用于从两个表中选择相关信息,就像加入命令一样。与UNION,默认情况下只选择不同的值。union语句有效地在结果集中选择不同的选择。

SQL Server中的UNION语句

Union运算符用于组合两个或多个SELECT语句的结果集。

以下是SQL中使用Union的一些简单规则:

SQL UNION语法

从表1中选择column_name

联盟

从表2中选择column_name;

UNION ALL

UNION ALL与UNION类似,不同之处在于UNION ALL选择所有的值。因此,使用UNION时,所有重复的行不会被消除,而是被包含。这个操作符只是从满足查询的所有表中提取所有行,并将它们组合成一个表。如果您确信UNION操作返回的所有记录都是唯一的,那么使用UNION all是一个更好的选择,因为它会提供更快的结果。UNION的结果都是未排序的。因此,在获得结果之后,可以使用ORDER by子句对它们进行排序。应该使用最后的SELECT语句插入ORDER BY。

SQL UNION所有语法

从表1中选择column_name

UNION ALL

从表2中选择column_name;

例子

比较联盟和联盟所有人让我们拍摄下表的“联系人”城市,州和拉链列。

城市国家邮政编码

纳什维尔TN 37235.

劳伦斯ks 66049

科瓦利斯或97333

UNION ALL SQL语句

如果我们应用UNION ALL SQL语句,那么我们将合并两个查询,这两个查询将从田纳西州(' TN ')检索并合并记录两次。

语法:

从('ks','tn')中的联系人中选择城市,州,zip

UNION ALL

选择城市,州,Zip从联系人('或' ' TN ')

UNION ALL语法的结果:

城市国家邮政编码

纳什维尔TN 37235.

劳伦斯ks 66049

纳什维尔TN 37235.

科瓦利斯或97333

使用UNION ALL语法,TN记录出现两次,因为两个SELECT语句都检索TN记录。

Union SQL语句

我们现在通过编写语法来使用SQL Union命令:

从('ks','tn')中的联系人中选择城市,州,zip

联盟

选择城市,州,Zip从联系人('或' ' TN ')

联合查询的结果如下:

城市国家邮政编码

科瓦利斯或97333

劳伦斯ks 66049

纳什维尔TN 37235.

请注意,即使SELECT语句检索TN记录,TN记录才会出现一次。Union语法会自动消除两个SQL语句之间的重复记录,也可以对结果进行排序。结果显示的记录按字母顺序排序,因此首先出现CorVallis记录,即使它来自第二个SELECT语句。可以在最后添加组逐个子句以对列表进行排序。

根据定义,一个Union查询消除了所有重复行,并与Union相比,它在排序操作时慢一点。要在SQL Server中执行此操作,union语句必须在两个查询返回的所有列上构建临时索引。如果索引不能为查询构建,那么您将获得SQL错误。在这种情况下,最好使用联盟所有语句。

在其他数据库中的应用程序

在甲骨文中

在这些情况下,Oracle不支持查询的联盟或联盟:

在DB2中

在DB2数据库系统中,您可以使用协会和联合以及值子句。

结论

如果您记得使用Union和Union的简单规则和同样的语法,那么根据您的要求组合表变得一件容易的任务。如果要探索基本的SQL查询和其他代码语句,那么请退房是个好主意SQL查询101.。如果您想收集Oracle SQL和Oracle PL / SQL编程的知识,那么它可能值得偷看Oracle SQL简介, 或者Oracle PL/SQL教程-一个全面的培训课程

SQL中的顶级课程

SQL和PostgreSQL:完整的开发人员指南
斯蒂芬格莱德里
4.7 (1,164)
评价最高
完整的SQL Bootcamp 2021:从零到英雄
何塞Portilla
4.7 (95,350)
畅销书
终极MySQL训练营:从SQL初学者到专家
Colt Steele,Ian Schoonover
4.6 (52289)
畅销书
SQL - 用于数据分析和商业智能的MySQL
365职业
4.6 (26,528)
畅销书
高级SQL:SQL Expert认证准备课程
Oracle Master Training•全球80,000多名学生,Code Star Academy
4.4 (1,972)
畅销书
完成SQL和数据库训练:从零到精通[2021]
Andrei Neagoie, Mo Binni
4.7 (1,263)
SQL for初学者:使用MySQL和数据库设计学习SQL
Tim Buchalka的学习编程学院,Jon Avis - SQL教练
4.5 (8605)
SQL & PostgreSQL初学者:成为SQL专家
Jon Avis - SQL教练
4.5 (3,047)
畅销书
SQL MicroDegree 2021:从SQL基础到高级SQL
阿布Pughazh
4.5 (77)
新的
完整的SQL Bootcamp用于数据科学,分析,营销
懒惰的程序员。
4.4 (1,372)

更多SQL课程

SQL学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示