SQL UNION 的用法中前后两个查询语句所含字段是否一定要相同?

 我来答
hy1397471
2015-11-15 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部
字段名称可以不同,字段数量、数据类型、顺序必须相同。
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
需要注意的是
1、UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
2、该命令连接的结果集中有重复的值不会被显示。
想忽略重复值,可以使用 union all。
百度网友5ba75e4
2011-08-19 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:976万
展开全部
不用,列和字段类型要匹配不匹配的最好转化下
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
roy_88
2011-08-19 · TA获得超过3696个赞
知道大有可为答主
回答量:2914
采纳率:100%
帮助的人:2725万
展开全部
列数和值类型要兼容
追问
你好,
列数兼容有规定的吗?列名要一样?如果 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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wlchq
2011-08-19 · 超过10用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:52.9万
展开全部
列数要相同才可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式