Sql 为什么一个联合会带回一个空行?
我有两个select语句Sql 为什么一个联合会带回一个空行?,sql,tsql,union,Sql,Tsql,Union,我有两个select语句 SELECT ... UNION SELECT ... 如果我运行第一个SELECT,数据会很好地返回 如果我运行第二个SELECT,数据会很好地返回 如果使用并集同时运行这两个命令,则第一行始终为空 我不明白。有人知道这可能导致问题的原因吗?您的数据中有一个空行。令人惊讶的是,联合正在进行排序,这将NULL带到第一行 如果要消除空值,请使用where子句 如果您希望通过不消除重复来提高查询效率,请使用union all发布完整查询,然后发布一些示例数据和所需结果
SELECT ...
UNION
SELECT ...
如果我运行第一个SELECT,数据会很好地返回
如果我运行第二个SELECT,数据会很好地返回
如果使用并集同时运行这两个命令,则第一行始终为空
我不明白。有人知道这可能导致问题的原因吗?您的数据中有一个空行。令人惊讶的是,
联合
正在进行排序,这将NULL带到第一行
如果要消除空值,请使用where
子句
如果您希望通过不消除重复来提高查询效率,请使用
union all
发布完整查询,然后发布一些示例数据和所需结果?但是如果我单独运行两个选择,则两个结果中都没有空行…如果union
正在创建空行,然后,SQL引擎中有一个bug。对我来说,这似乎不太可能。您是否可能在第二个查询中有一个where
子句,您认为它应用于整个结果集,但实际上只应用于第一个子查询?