SQL 批量合并多个表的问题

SQL一个数据库里有多个表分别为A1B1C1每个表里的字段都是一致的请问可以用什么命令批量一次性帮这些表合并为一个新表... SQL一个数据库里 有多个表 分别为 A1 B1 C1 每个表里的字段都是一致的

请问可以用什么命令 批量一次性帮这些表合并为一个新表
展开
 我来答
百度网友a800768
2013-01-25 · TA获得超过1841个赞
知道大有可为答主
回答量:1928
采纳率:0%
帮助的人:1708万
展开全部
建个视图把三个表的内容合到一个视图中,这样三个表中的内容如果改变,视图中的内容同时改变。
比如想建的视图名为 STABC

creat view STABC as
select * from A1
union
select * from B1
union
select * from C1

这样想查所有信息时只查视图就可以了
select * from STABC
bluemind_2004
2013-01-25 · TA获得超过964个赞
知道小有建树答主
回答量:539
采纳率:93%
帮助的人:294万
展开全部
Union
Union ALL

两个操作符可以将结果合并在一起
SELECT * FROM A1
UNION
SELECT * FROM B1
UNION
SELECT * FROM C1

然后将结果放入一个新表,或者创建一个表就好了
Orcale:
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
SQL Server:
select * from t1 into 新表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
推荐于2018-03-13 · TA获得超过6725个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5089万
展开全部
sqlserver:
select * into newtb from A1
union all
select * from B1
union all
select * from C1
若要去除重复,就去掉all
追问
这个命令 好像OK  但是执行的速度很慢 每个表里有几百万数据 现在20分钟了还没执行完毕

是否有更高效率的方法呢 望指点
追答
你可以查看一下新建表的数量,一千多万的数据啊,而且是全表查询,也没什么好方法提高效率的
select count(1) from newtb(nolock)这句可以查看插入了多少数据
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangchunrui151
2013-01-25 · 超过11用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:43.2万
展开全部
只有把其它两个表里面的内容复制到一张表里面,删除其它两个表就好了
追问
数据库里的数量很大 现在就是要求一个批量复制的SQL 语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式