更改cloumn的位置会导致同一查询的结果不同

时间:2015-10-12 21:46:16

标签: sql netezza

我有一种情况,我得到两个不同的结果相同的查询只有区别在选择部分的列的位置(第一和第二逆转到第二和第一)

select a11.GN_ID,a11.GN_NM
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;

这超出SQL QUERY,导致600次记录

select a11.GN_NM,a11.GN_ID
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;

这超出SQL QUERY,结果为0记录。

1 个答案:

答案 0 :(得分:0)

如果您不理解您认为应提供相同输出的两个查询之间的区别,则最好的第一步是检查执行计划。

你可以通过运行SHOW PLANFILE来做到这一点;运行查询后立即。

例如:

select a11.GN_ID,a11.GN_NM
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;

SHOW PLANFILE;

select a11.GN_NM,a11.GN_ID
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;

SHOW PLANFILE:

将planfile输出添加到您的问题中,以便我们帮助评估。