標籤:

如何自學SQL?

我想自己學習下SQL,以後找工作可以多項技能。百度了下好像要安裝mysql, 然後找本書看看。知乎的大神們,這麼個學習法靠譜嗎?自己學了對以後找工作有幫助嗎?謝謝!


推薦 codecademy 有在線環境給你練習

Learn SQL | Codecademy

整理的乾貨見以下博客

SQL 基礎 - ZJun Thinking

PS : 這個只是最初略的入門,不過說實話常用的也就這些


這兩天開始學習SQL,上來知乎找資料,昨天才下載的MYSQL和MS SQL SERVER,從初學者的角度回答這個問題,希望有切合題主的目前需要。

關於SQL入門與提高的學習資源,包括書籍和網站,其他大佬講了很多。不過摸索的過程中我有個體會,想要learning by coding是比較麻煩的。一是沒有環境,二是沒有練手的數據。

《SQL必知必會》的附錄教我們搭建環境然後導入數據,拿來做實操的材料,但初學者可能對於安裝mysql、oracle還是sql server就感到為難。我找到的中文網站大都是教語法,好一點的有實例(原表和輸出結果),但不能給學習者自己寫代碼。

好在今早我在Google play上發現一個叫knowledify SQL的app,很適合拿來利用碎片化時間上手SQL。

和sololearn之類的編程學習app類似,它把SQL的知識點分成好幾個部分,每個知識點配有一定的練習。

和sololearn不同的是,它提供的練習不是填空和選擇,而是要學習者自己寫代碼。你不必擔心手機打字的繁瑣,它對語法(如select)和參數(如custom)都能自動補全。寫完一條查詢10秒都不用。

如果你不知道怎麼操作,右上角的幫助會給你語法提示,講解之餘還帶語法和實例。

右上角還有個按鈕可以讓你看到原表和預期結果是什麼樣子的。從什麼得出什麼,一清二楚。

原表(列數較多,須左右拖動)

預期結果

可能還有更多的功能,不過我也還沒體驗出來。目前看到的這些已經讓我很知足。

內容深度方面還不了解(例如是否涉及優化),不過進階大概有其他更好的途徑,參見其他答案。到了那種階段還是老老實實搭建環境熟悉操作界面吧。這個app的主要作用是排除萬難,讓人利用碎片化時間在成就感中快速上手。

自學編程相關的問題上,知乎這個社區幫了我不少,但願我有回饋到一些東西吧。


除了前面的答主介紹的Learn SQL,下面這幾個也可以在線練習SQL:

概念入門:https://www.w3schools.com/sql/

練習入門:SQLZOO

完整練習:SQL exercises


不裝MySQL了,感覺好複雜。看書上說用Microsoft Access也可以,就安裝了。接下來就用它學習啦


推薦閱讀:

SQL 查詢按照家庭住址進行分組時,組內平均年齡小於50歲的組中成員的姓名和年齡?
索引列只要參與了計算, 查詢就會不走索引, 為什麼 MySQL 不對這種情況進行優化?
有什麼好的書籍了解sql執行細節?比如執行計劃之類的。
mysql表中查找和小於某個數的所有最前面的記錄?
以 MySQL 為例,如何進行 SQL 注入和防止被注入?

TAG:SQL |