sql中用union all最多可以合并几个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中用union all最多可以合并几个表相关的知识,希望对你有一定的参考价值。
各个数据库有什么区别
语法< query specification > | ( < query expression > )
UNION [ ALL ]
< query specification | ( < query expression > )
[ UNION [ ALL ] < query specification | ( < query expression > )
[ ...n ] ]
这个从帮助上看是没有限制的,,,
不过你关联很多的话,对性能可能会造成影响,这个还是要根据实际情况来看的;
各个基本数据库(sqlserver,mysql,oracle(oracle有时候要用到自带的默认表 dual))好像没什么明显区别吧追问
select 1 as a
union select 1 as a
union select 1 as a
union select 1 as a
union select 1 as a
union select 1 as a
union select 1 as a
union select 1 as a
我问的问题是 允许这个多少条语句合并
没看语法?上面写的[ ...n ] ] ,,,意思就是官方没限制,只要你觉得你性能允许
追问INSERT INTO mytemp VALUES(1,2),
( 1 , 0 ),
( 2 , 1 ),
( 3 , 2 ),
( 4 , 3 ),
( 5 , 4 ),
....同样这个语句的(6,5)有限制数量吗?
写的[ ...n ] ] ,,,
n的最大值没有说,但是肯定有的
有这样的语法?insert into 表 values(1,2)
insert into 表 values(2,1)如果你用values都是一行一行插入的,,,
而
INSERT
[ TOP ( expression ) [ PERCENT ] ]
[ INTO]
| rowset_function_limited
[ WITH ( [ ...n ] ) ]
[ ( column_list ) ]
[ ]
VALUES ( DEFAULT | NULL | expression [ ,...n ] )
| derived_table
| execute_statement
| DEFAULT VALUES
你可以看到,他的n是指里面的字段数目是n
我想问 一个语句最多可以用 多少个union.
追答。。。只能给你说官方写的是n,,,
参考技术A 10个,10个以上会报错 参考技术B 字段数目相同就行,没有限制如果您要合并的 2 个表中没有重复项,您会使用 UNION 还是 UNION ALL [重复]
【中文标题】如果您要合并的 2 个表中没有重复项,您会使用 UNION 还是 UNION ALL [重复]【英文标题】:If there are no duplicates in 2 tables which you want to combine, would you use UNION or UNION ALL [duplicate] 【发布时间】:2021-11-12 17:41:12 【问题描述】:由于 UNION ALL 比 UNION 快,你会使用 UNION ALL 来组合 2 个没有任何重复的表吗?为什么/为什么不?
【问题讨论】:
【参考方案1】:当您想要合并表格时,您应该始终默认为UNION ALL
。 UNION
会产生删除重复项的开销——在几乎每个数据库中,即使没有重复项,您也会得到开销。
您应该只在您特别想产生该开销时使用UNION
,因为您确实想删除重复项。
【讨论】:
明白,感谢您的回复。 我会推荐初学者使用UNION
,除非他们真正理解架构并且可以确定不会有永远重复。 (而且初学者很难理解这一点。)意外的重复会导致各种细微的错误,尤其是在聚合中 (SUM, COUNT, etc
)。以上是关于sql中用union all最多可以合并几个表的主要内容,如果未能解决你的问题,请参考以下文章