这里union和union all 的区别是:第一个是显示去重后的,第二个是显示所有的。
表 a
id | name |
1 | 啊 |
2 | 额 |
表 b
sid | sname |
1 | 啊 |
2 | 哈哈 |
select * from (
select a.id,a.name from a
union all
select b.sid,b.sname from b)
id | name |
1 | 啊 |
2 | 额 |
1 | 啊 |
2 | 哈哈 |
这里列名取表a的,其中两个表对应的类型要一样。如:a.id和b.sid都是NUMBER类型。a.name和b.sname都是VARCHER2类型。
这里使用union all,将所有的数据全部显示。
select * from (
select a.id,a.name from a
union
select b.sid,b.sname from b)
id | name |
1 | 啊 |
2 | 额 |
2 | 哈哈 |