数据分析师要掌握SQL到什么程度?
很多人入門學(xué)習(xí)數(shù)據(jù)分析,往往第一時間就是去學(xué)習(xí)SQL,那么問題就來了:要成為數(shù)據(jù)分析師需要掌握SQL到什么程度呢?
從我自己的認(rèn)知里,數(shù)據(jù)分析中只有兩部分的工作是 SQL 無法完成的:數(shù)據(jù)可視化,即數(shù)據(jù)的圖形化展示;數(shù)據(jù)挖掘,即數(shù)據(jù)的深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等算法。
那么在實(shí)際工作中的數(shù)據(jù)分析里,哪些具體的工作會用到 SQL 呢?
有些小伙伴不知道本文內(nèi)容和更多相關(guān)學(xué)習(xí)資料的請點(diǎn)贊收藏+評論轉(zhuǎn)發(fā)+關(guān)注我,后面會有很多干貨。我有一些面試題、架構(gòu)、設(shè)計(jì)類資料可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,需要的話歡迎下載!私信我回復(fù)【000】即可免費(fèi)獲取
?
(1)為固定報(bào)表提供數(shù)據(jù)。在大部分的固定報(bào)表中,SQL 一定是為報(bào)表提供數(shù)據(jù)的最好方式。
(2)數(shù)據(jù)跟蹤、報(bào)表調(diào)試、數(shù)據(jù)驗(yàn)證。當(dāng)用戶反映報(bào)表數(shù)據(jù)有問題時,就需要從報(bào)表的 SQL 出發(fā),一步步調(diào)試,跟蹤發(fā)現(xiàn)數(shù)據(jù)問題出現(xiàn)在哪個表、哪個過濾條件、哪個權(quán)限。還有,在報(bào)表上線前的測試階段,用自己寫好 SQL 返回的數(shù)據(jù)和報(bào)表的 SQL 返回的數(shù)據(jù)進(jìn)行對比驗(yàn)證。
(3)一些公司不用專業(yè)圖形化的 ETL 開發(fā)工具,而偏向?qū)懘鎯^程 SQL 來執(zhí)行數(shù)據(jù)的抽取、轉(zhuǎn)換和加載,因此會寫存儲過程也是非常重要的。
其實(shí)不同數(shù)據(jù)分析崗位對于SQL掌握程度的要求和標(biāo)準(zhǔn)是不同的。
比較常見的業(yè)務(wù)分析師,對SQL的掌握有一定要求,不過也不必要十分精通,只要能從數(shù)據(jù)倉庫里取數(shù)、學(xué)會普通的增刪減改就行了,取數(shù)不是業(yè)務(wù)分析師的主要工作,而且很多人用現(xiàn)成的BI工具,或者直接Python大法,雖然也需要SQL從數(shù)據(jù)庫中取數(shù),但是不用考慮復(fù)雜邏輯;
如果是做數(shù)據(jù)倉庫的分析師,或者說更類似于系統(tǒng)分析師,那就必須要精通SQL了,作為吃飯的飯碗,當(dāng)然不能差了,起碼來說T-SQL、約束、觸發(fā)器、復(fù)雜綜合查詢、客戶端、聯(lián)機(jī)分析處理等都要掌握,更好地提高檢索速度對于業(yè)務(wù)來說比較重要;
當(dāng)然還有一些數(shù)據(jù)分析崗位,對于SQL不是必須的,但是學(xué)會了是加分項(xiàng)。
一般數(shù)據(jù)分析人員,其中會用SQL進(jìn)行增刪改查是必須的,然后業(yè)務(wù)不同你可能需要掌握的內(nèi)容有:
1. 除了查,其他建議開啟事務(wù),絕對是個好習(xí)慣
2. 會建立基礎(chǔ)視圖用來清理數(shù)據(jù),在存儲過程中使用視圖,整個耦合性會更好一點(diǎn)
3. 會建立臨時表來進(jìn)行多表之間關(guān)聯(lián),做一些復(fù)雜的查詢
4. row_number ()函數(shù)使用,熟練使用此函數(shù),對于新客/老客/頻次等分析很有幫助
5. 當(dāng)數(shù)據(jù)量大時,少用子查詢,多用exists 操作.
6. 關(guān)聯(lián)時多想想會不會出現(xiàn)笛卡爾集,造成數(shù)據(jù)異常
7. 時間格式轉(zhuǎn)換要熟練
8. lag 函數(shù)
9. concat 函數(shù)
10. stuff 函數(shù) ,使得本來需要多行展示的列合并在同一列展示,不過查詢速度比較慢12. sum()over 函數(shù)
13. max,min等函數(shù)對于一些字符串的處理特別有用
14. select case when .....end 有時候可以替代where 條件避免關(guān)聯(lián)
以后也可能會有新的更加方便的工具出來替代SQL,但是能夠在SQL應(yīng)用中掌握業(yè)務(wù)邏輯,熟悉業(yè)務(wù)指標(biāo),精通數(shù)據(jù)清理,對于數(shù)據(jù)分析方法游刃有余,那么不管走遍哪里都會不怕了。
有些小伙伴不知道本文內(nèi)容和更多相關(guān)學(xué)習(xí)資料的請點(diǎn)贊收藏+評論轉(zhuǎn)發(fā)+關(guān)注我,后面會有很多干貨。我有一些面試題、架構(gòu)、設(shè)計(jì)類資料可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,需要的話歡迎下載!私信我回復(fù)【000】即可免費(fèi)獲取
?
總結(jié)
以上是生活随笔為你收集整理的数据分析师要掌握SQL到什么程度?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.1 高斯消元
- 下一篇: 重磅新品 MySQL HeatWave