A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董超 中级黑马   /  2012-6-1 10:00  /  2838 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    昨天看SQL的视频 ,看到后面突然就出现了一个 union all  谁能解释一下 这个有什么作用 怎么用的 语法格式啥的……

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

8 个回复

倒序浏览
翻译过来应该是联合查询吧  select 表1 union all select 表2  该怎么查就怎么查 中间用union all就可以吧。不过union all 不会对重复数据做处理

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
联合查询,可以将两个表的数据链接在一起,查询的时候使用Union ALL 可以将第二张表的数据追加到第一张表的后面,例如:
SELECT * from 表1 union ALL SELECT * FROM 表2

但是有条件的,既然是拼接,两个表的字段数必须样一直,数据类型也要是一样的,才能是用Union链接查询

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
表1:
张三 30
李四 40


表2:
张三 30


这是我的理解:
表1 union 表2 结果会是这样
张三 30
李四 40

表1 union all 表2 结果会是这样
张三 30
李四  40  
张三  30  

union all有硬性拼接起来的意思。



评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
就是为了不消除完全重复的行
回复 使用道具 举报
就是把两个表拼接在一起!! 其实一般就用union就可以了 他会把数据重复的给合并在一起  但是记住两个表 必须字段是相同类型  字段个数要一直哈!!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
非常小可 来自手机 中级黑马 2012-6-1 17:02:55
7#
union联合结果集用于两个表的连接结果查询,union all不去掉重复行,union去掉重复结果

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
union是联合查询的关键字
union的话联合查询会消除重复行
而union all的话联合查询不会消除重复行
另外,要注意的是,一旦想使用union,一定要确定联合查询的两表数据类型要一样

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
在SQL Server中,连接分为左连接(left),右连接(right),全部连接(all)
如:左连接,选择相同的部分放在一起之后,把A的其余部分也放进去,B的其余部分则舍去
    右连接,选择相同的部分放在一起之后,把B的其余部分也放进去,A的其余部分则舍去
all则是把A、B中的全部内容都放在一起

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马