查询结果在远程和本地数据库中更改

时间:2014-07-15 06:18:26

标签: db2 db2-luw

下表是在本地数据库和远程数据库中创建的。

CREATE TABLE EMPLOYEE1 ( EMP_ID INTEGER, EMP_NAME VARCHAR(10), EMP_DEPT VARCHAR(10) );

在两个数据库中创建的表中插入以下行。

INSERT INTO EMPLOYEE1 (EMP_ID, EMP_NAME,EMP_DEPT)
VALUES (1,'A','IT'), (2,'B','IT'), (3,'C','SALES'), (4,'D','SALES'), (5,'E','ACCOUNTS'), (6,'F','ACCOUNTS'), (7,'G','HR'), (8,'H','HR');

COMMIT;

如果我在我的系统的本地数据库中运行以下查询,那么查询结果是正确的。即它将返回表中的所有行,因为查询确实必须这样做。但是如果我在远程数据库中运行相同的查询,那么只返回4行,这是错误的结果。

SELECT * FROM EMPLOYEE1 WHERE (EMP_DEPT NOT IN ('IT','SALES') OR EMP_DEPT IN ('IT','SALES'));

任何人都可以建议查询行为发生变化的原因吗?

1 个答案:

答案 0 :(得分:0)

根据您的查询,您要选择所有记录。然后,您只需使用以下

SELECT * FROM EMPLOYEE1

这种情况的目的是什么?

WHERE (EMP_DEPT NOT IN ('IT','SALES') OR EMP_DEPT IN ('IT','SALES'))