看板 Database 關於我們 聯絡資訊
※ 引述《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是世界上最強的語言了 ▁▁▁▁ 其他的應該廢除 西 ██ - □–□ 如果各位有興趣的話,可以現在開始學 但是要安裝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