1

我有两个选择语句。

SELECT ...

UNION

SELECT ...

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

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

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

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

4

1 回答 1

2

您的数据中有一个 NULL 行。令人兴奋的是,它union正在做一个排序,它将 NULL 带到第一行。

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

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

于 2012-12-03T22:12:10.037 回答