首页 > 解决方案 > SQL UNION 运算符如何识别重复项

问题描述

执行以下 SQL(在 PostgreSQL 数据库上)会产生 9 行,即使这两个表中的数据集显然也不完全相同。

removed

结果:

removed

为什么它不会产生 13 行?

使用UNION ALL可以解决问题,但我想知道 SQLUNION运算符如何识别重复项?

标签: sqlpostgresqlunion

解决方案


UNION从结果集中删除重复项。它保证结果完全没有重复。因此,它会删除表内和表之间的重复项。

您似乎在表格中有重复项。它们被移除。


推荐阅读