我有两个疑问,我是 UNION
在一起,这样我就知道两个查询之间不会有重复的元素。因此,UNION
和 UNION ALL
将产生相同的结果。
我应该使用哪一种?
最佳答案
您应该使用与您正在寻找的意图相匹配的那个。如果您想确保没有重复项,请使用 UNION
,否则使用 UNION ALL
.仅仅因为您的数据现在会产生相同的结果并不意味着它总是会产生。
也就是说,UNION ALL
在任何健全的数据库实现上都会更快,请参阅下面的文章以获取示例。但通常情况下,它们是相同的,除了 UNION
执行一个额外的步骤来删除相同的行(正如人们所期望的那样),并且它可能倾向于支配执行时间。
关于sql - 联合还是联合所有人,这是个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3909563/