Re: [SQL ] union 后资料减少

楼主: BigLoser (大鲁蛇)   2014-10-04 21:06:26
※ 引述《lepin2001 (排年代的票真闷)》之铭言:
: (针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
: 数据库名称:MSSQL
: 数据库版本:2008
: 内容/问题描述:
: 我查了一下…大概是这样
: UNION 会删除重复的资料
: UNION ALL 不会
: 但是什么情况会造成资料减少的情况呢?
: 比如 A 表有1万笔资料
: union B 表后
: 竟然变成8000多笔资料
: 我以为至少都会有1万笔(不会少于A表的资料)
: 为什么?
这位温拿您好,
union指的是联集,
也就是说,当你有有A集合{1,2,3}与B集合{2,3,4}时,
两者取联集会得到{1,2,3,4}。
那当您有{1,2,2,3}和{2,3,4}的时候呢?
答案也是{1,2,3,4}。
现在回过头来看您的问题,为什么A和B资料表union后,资料笔数会小于
A或者B呢,想当然是,您union的字段有某些资料是重复的,
例如您union的字段是时间,当A资料表中一万笔资料的时间字段只有8千
笔是不同的,那union之后结果就有可能小于一万笔了,
希望鲁蛇我有解答到您的问题,
谢谢阅读。
作者: lepin2001 (排年代的票真闷)   2014-10-04 22:54:00
对喔!!!感谢解答
作者: rockchangnew (rock)   2014-10-05 00:06:00
正解无误
作者: lepin2001 (排年代的票真闷)   2014-10-06 11:53:00
我喜欢你的断水流大师兄XD

Links booklink

Contact Us: admin [ a t ] ucptt.com