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,,,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-27
10个,10个以上会报错
第2个回答  2013-09-24
字段数目相同就行,没有限制
相似回答