{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

學習SQL大概要多久?有沒有好的資料或者視頻推薦呢?

linkFlylinkFly 回答0 收藏1
收藏問題

3條回答

wangjuntytl

wangjuntytl

回答于2022-06-28 13:43

這個問題問的有些籠統,個人感覺sql作為一個取數工具,學起來并不難,至于大概要學多久,要看你想掌握的到什么程度,

個人把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五個步驟

1、了解什么是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學習指南》等。


《SQL必知必會》目錄



《SQL學習指南》目錄

網上也有一些不錯的開源教程,比如菜鳥教程、w3school等。

SQL 簡介 | 菜鳥教程

SQL 教程

建議大家把一本書或一套教程啃完就可以了,一個月就能搞定。

4. 有哪些SQL實戰網站?

脫離練習學習SQL簡直是要命,可能你學了大半個月,拿到一個查詢需求還是無從下手,所以說實踐對于SQL來說非常重要。

這里有兩個方式可以練習SQL,一是自己搭建數據庫,然后找題目練習,二是在SQL網站上練習

自己搭建數據庫也不難,初學者可以安裝mysql,然后去github上下載習題。

SQL練習的網站也不少,像SQLZOO、XUESQL、SQLBolt、leecode、牛客網等。

SQL Tutorial/zh - SQLZOO:https://sqlzoo.net/wiki/SQL_Tutorial/zh


自學SQL網(教程 視頻 練習全套):http://xuesql.cn/

5 . 練習練習練習

練習是學習SQL的不二法門,只有練的足夠多,你才能精通SQL

文源:知乎 朱衛軍

評論0 贊同0
  •  加載中...
rottengeek

rottengeek

回答于2022-06-28 13:43

在SQLServer組的以前的一個同事說,很多程序員學到了group by之后就被卡在這里了……那個人告訴我,學SQL,千萬不要用普通程序語言的過程式的想法去想,而要用query本身的思想去想。不過我是做編譯器的所以自然沒有這個障礙。根據我的經驗,他的意思大概是,SQL本身就是functional(函數式)的,只有用functional的思考方法才能更好地理解他。

對于流行的SQL數據庫(SQLServer、Oracle和DB2)來講,一般情況下靠譜的table、index的設計,可以讓你的CPU接近100%,每個query都在100毫秒內完成。這個靠譜的程度是相當難達到的。不過一般的想法是,如果你的SQL寫的性能不夠,一般有兩種可能:
1、你的問題不適合SQL做
2、你的index沒寫對

index是一個博大精深的東西,不學點理論知識肯定是不行的,在此我推薦《Database Management Systems 3rd Edition》 - Ramakrishnan Gehrke。這本書講了很多數據庫的重點知識,譬如說如何組織你的數據庫,如何寫一個好的SQL,如何通過你的需求建立靠譜的index(注意,是先有需求和SQL后有index,而不是先有index然后才依賴于這個去寫你的SQL的),那些index到底是怎么實現的,等等。看完之后事半功倍,肯定能寫得一手好SQL,建得一手好表了。

評論0 贊同0
  •  加載中...
TalkingData

TalkingData

回答于2022-06-28 13:43

得看你有木有接觸過IT行業,還有邏輯思考能力,有人指導的話,邏輯思維好的兩個星期每天花3個小時可熟練掌握sql的基本應用了。

評論0 贊同0
  •  加載中...

相關問題

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<