sql - SQL UNION 运算符如何识别重复项
问题描述
执行以下 SQL(在 PostgreSQL 数据库上)会产生 9 行,即使这两个表中的数据集显然也不完全相同。
removed
结果:
removed
为什么它不会产生 13 行?
使用UNION ALL
可以解决问题,但我想知道 SQLUNION
运算符如何识别重复项?
解决方案
UNION
从结果集中删除重复项。它保证结果完全没有重复。因此,它会删除表内和表之间的重复项。
您似乎在表格中有重复项。它们被移除。
推荐阅读
- r - 在 data.table 中对条件链接值进行分组
- node.js - 如何在 Strapi 中创建不同的管理员角色
- python - 如何创建一个包含两个不同查询集的表
- html - 锚标记内图像的焦点边界半径
- node.js - 使用 mocha chai 测试 node.js 中抛出的错误
- here-api - LinkId 未找到但由 calculateroute.json 返回
- ruby-on-rails - rails 4 deep_clone 在开发/登台和生产方面不同
- apache-spark - 无法在已停止的 SparkContext 上调用方法。这个停止的 SparkContext 创建于
- r - 如何在基础 R 中为某些变量指定颜色
- python - 如何从第二个数据集中的列中为每个人计算最新值?