下表是在本地数据库和远程数据库中创建的。
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'));
谁能建议为什么查询行为会发生变化?