SQL> select * from a;
ID NAME
---------- ----------
1 aa
2 bb
3 cc
6 dd
7 ee
SQL> select * from b;
ID ADDR
---------- ----------
1 aa
2 bb
3 cc
4 dd
5 ee
SQL> select * from a
2 union all
3 select * from b;
ID NAME
---------- ----------
1 aa
2 bb
3 cc
6 dd
7 ee
1 aa
2 bb
3 cc
4 dd
5 ee
已
选择
10行。
SQL> select * from a
2 union
3 select * from b;
ID NAME
---------- ----------
1 aa
2 bb
3 cc
4 dd
5 ee
6 dd
7 ee
已选择7行。
SQL>
两边字段的个数和对应字段的类型要一致.
如果在同一张表中不存在重复的记录,那就不使用UNION ALL,用UNION,会过滤掉重复的记录,但是效率也不见得高。
过滤重复记录是需要额外的系统开销的。
union -----过滤重复记录,并排序
union all -----不过滤,不排序