为什么UNION会带回一个空行?

时间:2012-12-03 22:07:53

标签: sql tsql union

我有两个选择语句。

SELECT ...

UNION

SELECT ...

如果我运行第一个SELECT,数据会恢复正常。

如果我运行第二个SELECT,数据会恢复正常。

如果我使用UNION同时运行两个,则第一行始终为NULL。

我不明白。任何人都知道为什么这可能导致问题?

1 个答案:

答案 0 :(得分:2)

您的数据中有一个NULL行。什么是hapening是union正在做一个排序,它将NULL带到第一行。

如果要消除NULL值,请使用where子句。

如果您希望通过不使用union all消除重复项来提高查询效率。