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