首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

full jion 跟 union 的详细区别

2012-09-14 
full jion 和 union 的详细区别感觉 FULL JOIN和 UNION 除了使用条件不同(UNION 要求使用的2个表字段相同)

full jion 和 union 的详细区别
感觉 FULL JOIN 和 UNION 除了使用条件不同(UNION 要求使用的2个表字段相同),返回的结果格式不同(FULL JOIN 不会把相同的字段值合并到一个字段内),其他还有什么区别吗,(一直感觉如果在字段相同的情况下,结果的格式简单处理下后,这两个语句返回的结果是一样的。),想看下大家对这个有什么理解,和更多的不同之处,尽量详细一点,谢谢。

[解决办法]
当然结果不同了
union会把table本身重复的也干掉
full join不会


[解决办法]
最通俗的说法就~一个为合并列~一个行集合并
[解决办法]
union:行集合并
full join:列合并,两张表的数据会全部出来(不管满不满足条件)
[解决办法]

SQL code
------------------------------ Author  :fredrickhu(小F,向高手学习)-- Date    :2011-04-06 09:47:40-- Verstion:--      Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) --    Jul  9 2008 14:43:34 --    Copyright (c) 1988-2008 Microsoft Corporation--    Enterprise Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)--------------------------------> 测试数据:[a]if object_id('[a]') is not null drop table [a]go create table [a]([a] int,[b] int)insert [a]select 1,4 union allselect 2,5 union allselect 3,6--> 测试数据:[b]if object_id('[b]') is not null drop table [b]go create table [b]([a] int,[b] int)insert [b]select 2,5 union allselect 3,6 union allselect 4,7--------------开始查询--------------------------select * from [a] full join b on a.a=b.aselect * from aunion allselect * from b----------------结果----------------------------/* a    b    a    b1    4    NULL    NULL2    5    2    53    6    3    6NULL    NULL    4    7a    b1    42    53    62    53    64    7*/
[解决办法]
探讨
union:行集合并
full join:列合并,两张表的数据会全部出来(不管满不满足条件)

[解决办法]
union会重复的值删除
full join不删除重复值

[解决办法]
union all 不会干掉重复记录,只有union才会干掉。
[解决办法]
探讨
当然结果不同了
union会把table本身重复的也干掉
full join不会

[解决办法]
探讨
最通俗的说法就~一个为合并列~一个行集合并

热点排行