黑马程序员技术交流社区

标题: 关于union all的问题 [打印本页]

作者: 董超    时间: 2012-6-1 10:00
标题: 关于union all的问题
    昨天看SQL的视频 ,看到后面突然就出现了一个 union all  谁能解释一下 这个有什么作用 怎么用的 语法格式啥的……

作者: 班顶超    时间: 2012-6-1 10:07
翻译过来应该是联合查询吧  select 表1 union all select 表2  该怎么查就怎么查 中间用union all就可以吧。不过union all 不会对重复数据做处理
作者: 朱亮辉    时间: 2012-6-1 11:04
联合查询,可以将两个表的数据链接在一起,查询的时候使用Union ALL 可以将第二张表的数据追加到第一张表的后面,例如:
SELECT * from 表1 union ALL SELECT * FROM 表2

但是有条件的,既然是拼接,两个表的字段数必须样一直,数据类型也要是一样的,才能是用Union链接查询
作者: 王针    时间: 2012-6-1 12:45
表1:
张三 30
李四 40


表2:
张三 30


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

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

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




作者: 刘豪    时间: 2012-6-1 13:10
就是为了不消除完全重复的行
作者: G_Xiaotao    时间: 2012-6-1 16:30
就是把两个表拼接在一起!! 其实一般就用union就可以了 他会把数据重复的给合并在一起  但是记住两个表 必须字段是相同类型  字段个数要一直哈!!
作者: 非常小可    时间: 2012-6-1 17:02
union联合结果集用于两个表的连接结果查询,union all不去掉重复行,union去掉重复结果
作者: 冯奎智    时间: 2012-6-1 21:05
union是联合查询的关键字
union的话联合查询会消除重复行
而union all的话联合查询不会消除重复行
另外,要注意的是,一旦想使用union,一定要确定联合查询的两表数据类型要一样
作者: 魏庆君    时间: 2012-6-2 08:39
在SQL Server中,连接分为左连接(left),右连接(right),全部连接(all)
如:左连接,选择相同的部分放在一起之后,把A的其余部分也放进去,B的其余部分则舍去
    右连接,选择相同的部分放在一起之后,把B的其余部分也放进去,A的其余部分则舍去
all则是把A、B中的全部内容都放在一起





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2