使用SQL Server 2012,使用UNION
的两个查询使用UNION
和DISTINCT
有什么区别?即
SELECT Columns FROM A
UNION
SELECT Columns FROM B
与
SELECT DISTINCT Columns FROM A
UNION
SELECT DISTINCT Columns FROM B
上述查询之间有什么区别?
答案 0 :(得分:1)
结果没有区别,因为UNION会消除重复。
FYI UNION ALL按所选顺序保留所有行(如简单追加)。
将DISTINCT添加到UNION的每个(或任一方)可能会更慢,因为它引入了一个毫无意义的步骤(尽管任何值得盐的优化器都会认识到这一点并消除重复的工作)。
答案 1 :(得分:0)
我完全同意波西米亚人所说的!!它们之间没有区别。但是如果你想要选择重复的记录,你也必须通过用union all替换union来改变查询。
以下是证据: - " What is the difference between UNION and UNION ALL?"