問題背景:(接上集)話說,小三匆匆忙忙做完領導需要的數(shù)據(jù),就去陪女朋友了,由于太激動跑得急,竟然沒有發(fā)給領導。在小三悠閑的看完電影出來,就發(fā)現(xiàn)了一件非??植赖氖虑椋瑵M屏的未接電話,全是領導打來的。小三立馬回電,得到的是劈頭蓋臉的一頓罵,因為數(shù)據(jù)沒交給領導,這下麻煩大了,會不會被炒。小三也來不及多想,幸好善解人意的女朋友,拉著小三趕緊回家給領導做好數(shù)據(jù)。小三又氣又急,看著數(shù)據(jù)兩眼冒花,根本沒有效率,這時,女朋友提醒他,可否試試數(shù)據(jù)庫的方式。咦,好想法。
數(shù)據(jù)庫有很多,如SQL Server,Mysql,Oracle等等,這些都是需要專業(yè)的技術(shù)才能駕馭,數(shù)據(jù)庫本身規(guī)模龐大,操作難度高,搭建環(huán)境也不容易。對于一般的辦公數(shù)據(jù)處理,需要用到數(shù)據(jù)庫也就是借用數(shù)據(jù)庫可以靈活編寫SQL語句來實現(xiàn)數(shù)據(jù)查詢和處理,較Excel更靈活自由,而并非數(shù)據(jù)庫的數(shù)據(jù)存儲功能。那么,一個簡易的數(shù)據(jù)庫,只要能實現(xiàn)SQL語句就好了,最好的選擇就是Office套件的Access。
Microsoft Office Access是由微軟發(fā)布的關系數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統(tǒng)程序之一。Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。
Access的用途體現(xiàn)在兩個方面:
一、用來進行數(shù)據(jù)分析: Access有強大的數(shù)據(jù)處理、統(tǒng)計分析能力,利用Access的查詢功能,可以方便地進行各類匯總、平均等統(tǒng)計。并可靈活設置統(tǒng)計的條件。比如在統(tǒng)計分析上萬條記錄、十幾萬條記錄及以上的數(shù)據(jù)時速度快且操作方便,這一點是Excel無法與之相比的。會用Access,提高了工作效率和工作能力。
二、用來開發(fā)軟件:其最大的優(yōu)點是:易學!非計算機專業(yè)的人員,也能學會。
于是,小三開始神操作緊急自救。
步驟一:創(chuàng)建Access數(shù)據(jù)庫,導入兩張表到Access。開始→創(chuàng)建空白數(shù)據(jù)庫。
步驟二:導入兩張表的數(shù)據(jù)。右鍵單擊表→導入→Excel,根據(jù)向?qū)崾緦霐?shù)據(jù),基本都默認選項設置即可。先導入2020年小車1-4月銷量表。
同樣的方式導入表二2020年小車5月銷量表。
步驟三:編寫SQL語句,查詢并處理數(shù)據(jù),讓兩表結(jié)合輸出需要的數(shù)據(jù)。
1.創(chuàng)建-查詢設計,選中兩張表添加;
2.切換為SQL視圖,對“查詢”選項卡點右鍵,選擇SQL視圖;
3.編寫SQL查詢語句并執(zhí)行,一鍵完成所有數(shù)據(jù)整合。還能自動匹配關聯(lián),不存在的車型表格自動空出,不再需要像Excel里面,手工一條條對齊關聯(lián);
接下來就好辦了,全選數(shù)據(jù),復制到Excel,去掉不要的列或數(shù)據(jù),輕輕松松3分鐘搞定,領導都驚呆了,說明天非得跟著小三學學這么神奇的技術(shù),小三頓時感覺不妙……。
究竟有啥不妙,且聽下回分解。
代碼樣例:
select [sheet1.序號],[sheet1.車型],[sheet1.所屬廠商],[1月銷量],[2月銷量],[3月銷量],[4月銷量],[sheet2.車型],[5月銷量]
FROM Sheet1 left join Sheet2 on sheet1.車型=sheet2.車型
union
select [sheet1.序號],[sheet1.車型],[sheet1.所屬廠商],[1月銷量],[2月銷量],[3月銷量],[4月銷量],[sheet2.車型],[5月銷量]
FROM Sheet1 right join Sheet2 on sheet1.車型=sheet2.車型
代碼釋義:
3.1 select……form……:表示查詢xx字段數(shù)據(jù)來自xx表。
3.2 left join:左連接,從左表sheet1查詢輸出所有的行,即使在右表sheet2中沒有匹配的行。right join則相反,輸出右表所有行,即使左表沒有。用到左右連接,目的就是把表1和表2的所有數(shù)據(jù)輸出,避免遺漏表1有而表2沒有,或者表2有而表1沒有的數(shù)據(jù),用union把所有數(shù)據(jù)合起來輸出。(專業(yè)的數(shù)據(jù)庫知識,沒有基礎就硬記,代碼能用就行)
3.3 sheet1.車型=sheet2.車型:目的是把兩個表用共同點關聯(lián)起來,讓同一款車型的數(shù)據(jù)在一行,不出現(xiàn)車型和數(shù)據(jù)錯位不對應,正如Excel里,使兩個表的車型字段排序一致,并且判斷同一行的車型是否一致。