PostgreSQL Union17 Mar 2025 | 5 分钟阅读 在本节中,我们将了解PostgreSQL UNION 运算符的工作原理,该运算符用于将各种命令的输出组合成一个单一的输出。 以及PostgreSQL union 命令的示例,包括使用order by 子句的 PostgreSQL union all。 什么是 PostgreSQL UNION 运算符?在 PostgreSQL 中,UNION 运算符将一个或多个 SELECT 命令组合成一个单一的输出。 PostgreSQL Union 运算符的语法PostgreSQL union 运算符的语法如下所示,它帮助我们将两个命令的输出关联起来 如果我们想借助 UNION 运算符合并两个命令的输出,那么这些命令必须遵循以下说明
注意:UNION 运算符也用于从组合的数据集中删除所有匹配的行。我们可以使用 UNION ALL 代替 UNION 来重新收集重复的行。在下图中,我们可以了解UNION 运算符的工作原理 ![]() PostgreSQL UNION 结合 ORDER BY 子句如上所述,UNION 运算符可以将初始命令输出的行放在附加命令输出的行之前、之后或之间。 我们可以在第二个命令中使用 ORDER BY 子句 对最终输出中的行进行排序。 UNION 运算符通常用于合并来自无法轻松标准化的同一表的数据。 为了理解PostgreSQL Union 运算符的工作原理,首先,我们将借助以下命令设置示例表 在下面的命令中,我们将创建两个表,如top_rated_cars 和 most_reliable_cars,借助 CREATE 命令并使用 INSERT 命令插入一些值。 要将 top_rated_cars 创建到 组织数据库中,我们使用 CREATE 命令。 但是,在创建 top_rated_cars 表之前,如果 组织 数据库中已经存在类似的表,我们将使用 DROP TABLE 命令。 输出 执行上述命令后,我们将收到以下窗口消息:top_rated_cars 表不存在。 ![]() top_rated_cars 表包含各种列,例如 Car_name,launch_year 列。 输出 执行上述命令后,我们将收到以下消息:top_rated_cars 表已成功创建到 组织 数据库中。 ![]() 成功创建 top_rated_cars 表后,我们将借助 INSERT 命令向其中输入一些值。 输出 实现上述命令后,我们将收到以下消息窗口:三个值已成功插入到 top_rated_cars 表中。 ![]() 要将 most_reliable_cars 创建到 组织数据库中,我们使用 CREATE 命令。 但是,在创建 most_reliable_cars 表之前,如果 组织 数据库中已经存在类似的表,我们将使用 DROP TABLE 命令。 输出 执行上述命令后,我们将收到以下窗口消息:most_reliable_cars 表不存在。 ![]() 表 most_reliable_cars 包含各种列,例如 Car_name,launch_year 列。 输出 执行上述命令后,我们将收到以下消息,该消息显示 most_reliable_cars 表已成功创建到 组织 数据库中。 ![]() 成功创建 most_reliable_cars 表后,我们将借助 INSERT 命令向其中输入一些值。 输出 实现上述命令后,我们将收到以下消息窗口,该窗口显示 三个值已成功插入到 most_reliable_cars 表中。 ![]() 如果我们要查看 top_rated_cars 表中的数据,我们在下面的命令中使用 SELECT 命令。 输出 执行上述命令后,我们将获得以下结果 ![]() 以下语句返回 most_reliable_cars 表中的数据 输出 在实现上述命令后,我们将获得以下输出 ![]() PostgreSQL UNION 示例让我们看一个示例,以了解 PostgreSQL Union 命令的工作原理。 简单 PostgreSQL UNION 的示例UNION 运算符用于删除匹配的行。 在以下示例中,我们使用 UNION 运算符合并来自两个表的数据(top_rated_cars 和 most_reliable_cars)。 输出 执行上述命令后,我们将获得以下输出,该输出包含 五行 在输出中,因为 UNION 运算符消除了一个匹配的行。 ![]() PostgreSQL UNION ALLUNION ALL 运算符合并来自多个 SELECT 命令的输出,而不会删除重复的行。 UNION ALL 运算符涉及每个 SELECT 命令 在输出中具有相同数量的字段和相同的数据类型。 PostgreSQL UNION ALL 的语法PostgreSQL UNION ALL 的语法如下 我们有以下参数,这些参数用于上述说明
注意:在上述语法中,两个表达式都必须具有相等数量的表达式。PostgreSQL UNION ALL 的示例在下面的示例中,我们将使用 UNION ALL 运算符合并来自 top_rated_cars 和 most_reliable_cars 表的输出。 输出 执行上述命令后,我们将获得以下输出,该输出保留了匹配的行。 ![]() PostgreSQL UNION ALL 结合 ORDER BY 子句PostgreSQL UNION 运算符可以与 ORDER BY 子句结合使用,以对命令输出进行排序。 PostgreSQL UNION ALL 结合 ORDER BY 子句的示例 在下面的命令中,我们使用带有 ORDER 子句的 PostgreSQL UNION ALL 对输出进行排序,该输出由 UNION 运算符返回。 我们使用 ORDER BY 子句在最后一个命令的末尾,如以下示例所示 输出 执行上述命令后,我们将获得以下结果,该结果显示来自两个表的所有数据。 ![]() 注意:如果我们在每个命令的末尾使用 ORDER BY 子句,合并的输出将不会按我们预期的那样进行排序。因为当 UNION 运算符合并来自所有命令的排序结果集时,它不能保证最终输出中的行顺序。 概述在 PostgreSQL UNION 部分,我们已经学习了以下主题
下一个主题PostgreSQL Intersect |
我们请求您订阅我们的新闻通讯以获取最新更新。