请教一个UNION ALL的问题,数据不一样了
在测试UNION ALL功能时,发现一个问题,如下
语句1及结果
select employee_id,department_id from employees where rownum<10 and department_id>=20;
EMPLOYEE_ID DEPARTMENT_ID
----------- -------------
201 20
202 20
114 30
115 30
116 30
117 30
118 30
119 30
203 40
语句2及结果
select employee_id,department_id from employees where rownum<10 and department_id<=30;
EMPLOYEE_ID DEPARTMENT_ID
----------- -------------
200 10
201 20
202 20
114 30
115 30
116 30
117 30
118 30
119 30
可是在我用UNION ALL将它们合并时,问题来了,得到的结果是:
select employee_id,department_id from employees where rownum<10 and department_id>=20
union all
select employee_id,department_id from employees where rownum<10 and department_id<=30;
EMPLOYEE_ID DEPARTMENT_ID
----------- -------------
100 90
101 90
102 90
103 60
104 60
105 60
106 60
107 60
108 100
200 10
201 20
202 20
114 30
115 30
116 30
117 30
118 30
119 30
问题是,最终结果并不是上面单个结果的并集啊?