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

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問(wèn)答專欄Q & A COLUMN

學(xué)習(xí)SQL大概要多久?有沒有好的資料或者視頻推薦呢?

linkFlylinkFly 回答0 收藏1
收藏問(wèn)題

3條回答

wangjuntytl

wangjuntytl

回答于2022-06-28 13:43

這個(gè)問(wèn)題問(wèn)的有些籠統(tǒng),個(gè)人感覺sql作為一個(gè)取數(shù)工具,學(xué)起來(lái)并不難,至于大概要學(xué)多久,要看你想掌握的到什么程度,

個(gè)人把sql的學(xué)習(xí)分為這樣三個(gè)層次:

  • 熟悉基本的增刪改查語(yǔ)句及函數(shù),包括select、where、group by、having、order by、delete、insert、join、update等,可以做日常的取數(shù)或簡(jiǎn)單的分析(該水平已經(jīng)超過(guò)90%非IT同事);
  • 掌握并熟練使用高階語(yǔ)法,比如集合、分組聚合、子查詢、條件邏輯、字符串函數(shù)、算術(shù)函數(shù)、日期時(shí)間函數(shù),并且知道MySQL、Oracle、SQL Server等數(shù)據(jù)庫(kù)的語(yǔ)法差異;
  • 熟悉如何優(yōu)化SQL語(yǔ)句,以期達(dá)到最高查詢效率,了解事務(wù)、鎖、索引、約束、視圖、元數(shù)據(jù)等概念,并且學(xué)會(huì)使用hive sql、spark sql、pymysql等工具;

像我們干數(shù)據(jù)分析的,都要能達(dá)到第三個(gè)層次,這樣基本可以算一個(gè)90分的sqler。

如果把excel類比sql,你得玩轉(zhuǎn)透視表、各種函數(shù)公式,甚至VBA,才能最大效率地賦能工作。

學(xué)習(xí)SQL五個(gè)步驟

1、了解什么是SQL?

SQL,全稱Structured Query Language,即結(jié)構(gòu)化查詢語(yǔ)句,它的主要作用是設(shè)計(jì),創(chuàng)建和管理關(guān)系數(shù)據(jù)庫(kù),關(guān)系數(shù)據(jù)庫(kù)的表是類似excel的二維表,由行列組成,每列代表一個(gè)字段。換句話說(shuō),SQL是用于與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行通信的編程語(yǔ)言。

關(guān)系數(shù)據(jù)庫(kù)有很多,比如MySQl、Oracle等,每個(gè)數(shù)據(jù)庫(kù)都使用自己的SQL方言,但是它們都共享相同的基本語(yǔ)法。

SQL的職責(zé)是管理二維表,通過(guò)語(yǔ)句來(lái)替代excel中那些圖形化的命令。

比如同樣是篩選數(shù)據(jù),在excel中需要在列名上添加篩選,然后選擇想要的字段,這是圖形化的命令;SQL則是通過(guò)語(yǔ)句來(lái)實(shí)現(xiàn)篩選;

select * from table where ....

2. 怎么學(xué)習(xí)SQL?

首先你需要了解SQL語(yǔ)法的基礎(chǔ),包括SELECT,F(xiàn)ROM,WHERE,GROUP BY,HAVING,ORDER BY、LIMIT等。

初學(xué)者對(duì)抽象概念不太懂,可以對(duì)比excel學(xué)習(xí)SQL基本語(yǔ)法。

核心:select * from tableName

這句話是從某表中選擇全部字段,相當(dāng)于excel中的選擇sheet

where相當(dāng)于excel的篩選,group by相當(dāng)于excel的透視表,order相當(dāng)于excel的升序降序。

接著你得學(xué)習(xí)一些常用的函數(shù):

最后掌握高級(jí)用法:

3. 有哪些好的書籍和教程

目前市場(chǎng)上SQL相關(guān)的資料很多,比較火的像《SQL必知必會(huì)》、《SQL學(xué)習(xí)指南》等。


《SQL必知必會(huì)》目錄



《SQL學(xué)習(xí)指南》目錄

網(wǎng)上也有一些不錯(cuò)的開源教程,比如菜鳥教程、w3school等。

SQL 簡(jiǎn)介 | 菜鳥教程

SQL 教程

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

4. 有哪些SQL實(shí)戰(zhàn)網(wǎng)站?

脫離練習(xí)學(xué)習(xí)SQL簡(jiǎn)直是要命,可能你學(xué)了大半個(gè)月,拿到一個(gè)查詢需求還是無(wú)從下手,所以說(shuō)實(shí)踐對(duì)于SQL來(lái)說(shuō)非常重要。

這里有兩個(gè)方式可以練習(xí)SQL,一是自己搭建數(shù)據(jù)庫(kù),然后找題目練習(xí),二是在SQL網(wǎng)站上練習(xí)

自己搭建數(shù)據(jù)庫(kù)也不難,初學(xué)者可以安裝mysql,然后去github上下載習(xí)題。

SQL練習(xí)的網(wǎng)站也不少,像SQLZOO、XUESQL、SQLBolt、leecode、牛客網(wǎng)等。

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


自學(xué)SQL網(wǎng)(教程 視頻 練習(xí)全套):http://xuesql.cn/

5 . 練習(xí)練習(xí)練習(xí)

練習(xí)是學(xué)習(xí)SQL的不二法門,只有練的足夠多,你才能精通SQL

文源:知乎 朱衛(wèi)軍

評(píng)論0 贊同0
  •  加載中...
rottengeek

rottengeek

回答于2022-06-28 13:43

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

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

index是一個(gè)博大精深的東西,不學(xué)點(diǎn)理論知識(shí)肯定是不行的,在此我推薦《Database Management Systems 3rd Edition》 - Ramakrishnan Gehrke。這本書講了很多數(shù)據(jù)庫(kù)的重點(diǎn)知識(shí),譬如說(shuō)如何組織你的數(shù)據(jù)庫(kù),如何寫一個(gè)好的SQL,如何通過(guò)你的需求建立靠譜的index(注意,是先有需求和SQL后有index,而不是先有index然后才依賴于這個(gè)去寫你的SQL的),那些index到底是怎么實(shí)現(xiàn)的,等等??赐曛笫掳牍Ρ叮隙軐懙靡皇趾肧QL,建得一手好表了。

評(píng)論0 贊同0
  •  加載中...
TalkingData

TalkingData

回答于2022-06-28 13:43

得看你有木有接觸過(guò)IT行業(yè),還有邏輯思考能力,有人指導(dǎo)的話,邏輯思維好的兩個(gè)星期每天花3個(gè)小時(shí)可熟練掌握sql的基本應(yīng)用了。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過(guò)該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<