學習SQL三個層次
- 熟悉基本的增刪改查語句及函式,包括select、where、group by、having、order by、delete、insert、join、update等,可以做日常的取數或簡單的分析(該水平已經超過90%非IT同事);
- 掌握並熟練使用高階語法,比如集合、分組聚合、子查詢、條件邏輯、字串函式、算術函式、日期時間函式,並且知道MySQL、Oracle、SQL Server等資料庫的語法差異;
- 熟悉如何最佳化SQL語句,以期達到最高查詢效率,了解事務、鎖、索引、約束、檢視、後設資料等概念,並且學會使用hive sql、spark sql、pymysql等工具;
數據分析人員最好是能達到第三個層次,這樣基本可以算一個90分的sqler。
如果把excel類比sql,你得玩轉透視表、各種函式公式,甚至VBA,才能最大效率地賦能工作。
學習sql本身可能是枯燥的,不像遊戲那樣每過一個關卡就獲得成就感,sql學習的前期尤其是語法階段,需要記憶的東西比較多,比如說join、groupby、order by等函式。所以夥伴們學習的時候可以適當地給自己創造闖關打怪的場景。
除了基本的語法之外,更多的是反復練習和回顧,把復雜的數據處理場景用sql語句表達出來,這就需要一步步去訓練自己。
如果想少走彎路,不妨看看一些視訊課程。自制力比較差的小夥伴,跟著老師把SQL基礎走一遍,效率非常高。
學習SQL五個步驟
- 了解什麽是SQL?
SQL,全稱 Structured Query Language ,即 結構化查詢語句, 它的主要作用是設計,建立和管理關聯式資料庫,關聯式資料庫的表是類似excel的二維表,由行列組成,每列代表一個欄位。換句話說,SQL是用於與關聯式資料庫進行通訊的程式語言。
關聯式資料庫有很多,比如MySQl、Oracle等,每個資料庫都使用自己的SQL方言,但是它們都共享相同的基本語法。
SQL的職責是管理二維表,透過語句來替代excel中那些圖形化的命令。
比如同樣是篩選數據,在excel中需要在列名上添加篩選,然後選擇想要的欄位,這是圖形化的命令;SQL則是透過語句來實作篩選;
select * from table where ....
2. 怎麽學習SQL?
首先你需要了解SQL語法的基礎,包括SELECT,FROM,WHERE,GROUP BY,HAVING,ORDER BY、LIMIT等。
初學者對抽象概念不太懂,可以對比excel學習SQL基本語法。
核心:select * from tableName
這句話是從某表中選擇全部欄位,相當於excel中的選擇sheet
where相當於excel的篩選,group by相當於excel的透視表,order相當於excel的升序降序。
接著你得學習一些常用的函式:
最後掌握高級用法:
3. 有哪些好的書籍和教程
目前市場上SQL相關的資料很多,比較火的像【SQL必知必會】、【SQL學習指南】等。
網上也有一些不錯的開源教程,比如菜鳥教程、w3school等。
SQL 簡介 | 菜鳥教程
SQL 教程
建議大家把一本書或一套教程啃完就可以了,一個月就能搞定。
4. 有哪些SQL實戰網站?
脫離練習學習SQL簡直是要命,可能你學了大半個月,拿到一個查詢需求還是無從下手,所以說實踐對於SQL來說非常重要。
這裏有兩個方式可以練習SQL,一是自己搭建資料庫,然後找題目練習,二是在SQL網站上練習
自己搭建資料庫也不難,初學者可以安裝mysql,然後去github上下載習題。
SQL練習的網站也不少,像SQLZOO、XUESQL、SQLBolt、leecode、牛客網等。
SQL Tutorial/zh - SQLZOO
自學SQL網(教程 視訊 練習全套)
5 . 練習練習練習
練習是學習SQL的不二法門,只有練的足夠多,你才能精通SQL!