这样试试,看看有什么区别,分析一下就明白了
select * from (select * from a union select * from b)
union all
select * from (select * from a union select * from b)
select * from (select * from a union select * from b)
union all
select * from (select * from a union select * from b)
---------- ----------
1 aa
2 bb
3 cc
4 de
5 eeeSQL> select * from b; COL1 COL2
---------- ----------
1 aa
1 ab
1 ac
2 bb
2 bc
3 cc
4 dd已选择7行。SQL> select * from (select * from a union select * from b)
2 ; COL1 COL2
---------- ----------
1 aa
1 ab
1 ac
2 bb
2 bc
3 cc
4 dd
4 de
5 eee已选择9行。SQL> select * from (select * from a union select * from b)
2 union
3 select * from (select * from a union select * from b); COL1 COL2
---------- ----------
1 aa
1 ab
1 ac
2 bb
2 bc
3 cc
4 dd
4 de
5 eee已选择9行。怎么不一样啊。晕。
你必须用union all这样,不要偷懒少写all 就可以了。