Re: [SQL ] union 後資料減少

看板Database作者 (大魯蛇。詳見名片~~~)時間11年前 (2014/10/04 21:06), 11年前編輯推噓3(300)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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甲▁▁▁▁ 其他的應該廢除 薩西斯B骨 ██ - 斯摳鬼2文 □–□ 如果各位有興趣的話,可以現在開始學 但是要安裝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

10/04 22:54, , 1F
對喔!!!感謝解答
10/04 22:54, 1F

10/05 00:06, , 2F
正解無誤
10/05 00:06, 2F

10/06 11:53, , 3F
我喜歡你的斷水流大師兄XD
10/06 11:53, 3F
文章代碼(AID): #1KB_3OkD (Database)
文章代碼(AID): #1KB_3OkD (Database)