作者BigLoser (大魯蛇。詳見名片~~~)
看板Database
標題Re: [SQL ] union 後資料減少
時間Sat Oct 4 21:06:26 2014
※ 引述《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之後結果就有可能小於一萬筆了,
希望魯蛇我有解答到您的問題,
謝謝閱讀。
--
我覺得
TSQL是世界上最強的語言了
阿賣波D甲T ◥▁▁▁▁ ◢
麥
其他的應該廢除
薩西斯B骨S ◤
██ /-
科
斯摳鬼2文Q □–□◢◤ 舒
如果各位有興趣的話,可以現在開始學
L ▼ㄑ ◢ 服
但是要安裝
SQL Server ψBigLoser ▼ㄧ /◣ 特
因為我們只會支援
精英資料庫,絕對不會接受
垃圾 ψdohProject ◢ /◣– ◤ /█◣
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 113.61.164.48
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1412427992.A.B8D.html
#抱歉,魯蛇修改錯字。
※ 編輯: BigLoser (113.61.164.48), 10/04/2014 21:09:03
推 lepin2001: 對喔!!!感謝解答 10/04 22:54
推 rockchangnew: 正解無誤 10/05 00:06
推 lepin2001: 我喜歡你的斷水流大師兄XD 10/06 11:53