SQL UNION 的用法中前后两个查询语句所含字段是否一定要相同?
4个回答
2015-11-15 · 知道合伙人软件行家
关注
展开全部
字段名称可以不同,字段数量、数据类型、顺序必须相同。
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
需要注意的是
1、UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
2、该命令连接的结果集中有重复的值不会被显示。
想忽略重复值,可以使用 union all。
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
需要注意的是
1、UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
2、该命令连接的结果集中有重复的值不会被显示。
想忽略重复值,可以使用 union all。
展开全部
不用,列和字段类型要匹配不匹配的最好转化下
create table #a(a int,b int)
insert into #a values(1,2)
select a from #a union select b from #a
drop table #a
create table #a(a int,b int)
insert into #a values(1,2)
select a from #a union select b from #a
drop table #a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
列数和值类型要兼容
追问
你好,
列数兼容有规定的吗?列名要一样?如果 A UNION B 是不是A的列数要>=B的列数?
追答
列的數量要相同
值要兼容,舉個例子
--會出錯,值不兼容
select 1 as ID,'a' as Name
union all
select 1 as ID,1 as Name
改為
select 1 as ID,'a' as Name
union all
select 1 as ID,'1' as Name
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
列数要相同才可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询